Bug#1090313: xarray-datatree: FTBFS: E ImportError: cannot import name 'HybridMappingProxy' from 'xarray.core.utils'

Santiago Vila sanvila at debian.org
Mon Dec 16 17:53:21 GMT 2024


Package: src:xarray-datatree
Version: 0.0.14-2
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datatree  
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/datatree
copying datatree/iterators.py -> build/lib/datatree
copying datatree/formatting_html.py -> build/lib/datatree
copying datatree/formatting.py -> build/lib/datatree
copying datatree/render.py -> build/lib/datatree
copying datatree/_version.py -> build/lib/datatree
copying datatree/io.py -> build/lib/datatree
copying datatree/__init__.py -> build/lib/datatree
copying datatree/treenode.py -> build/lib/datatree
copying datatree/common.py -> build/lib/datatree
copying datatree/testing.py -> build/lib/datatree
copying datatree/extensions.py -> build/lib/datatree
copying datatree/datatree.py -> build/lib/datatree
copying datatree/mapping.py -> build/lib/datatree
copying datatree/ops.py -> build/lib/datatree
creating build/lib/datatree/tests
copying datatree/tests/test_formatting_html.py -> build/lib/datatree/tests
copying datatree/tests/test_dataset_api.py -> build/lib/datatree/tests
copying datatree/tests/test_treenode.py -> build/lib/datatree/tests
copying datatree/tests/__init__.py -> build/lib/datatree/tests
copying datatree/tests/conftest.py -> build/lib/datatree/tests
copying datatree/tests/test_mapping.py -> build/lib/datatree/tests
copying datatree/tests/test_extensions.py -> build/lib/datatree/tests
copying datatree/tests/test_version.py -> build/lib/datatree/tests
copying datatree/tests/test_datatree.py -> build/lib/datatree/tests
copying datatree/tests/test_formatting.py -> build/lib/datatree/tests
copying datatree/tests/test_io.py -> build/lib/datatree/tests
running egg_info
creating xarray_datatree.egg-info
writing xarray_datatree.egg-info/PKG-INFO
writing dependency_links to xarray_datatree.egg-info/dependency_links.txt
writing requirements to xarray_datatree.egg-info/requires.txt
writing top-level names to xarray_datatree.egg-info/top_level.txt
writing manifest file 'xarray_datatree.egg-info/SOURCES.txt'
reading manifest file 'xarray_datatree.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'xarray_datatree.egg-info/SOURCES.txt'
copying datatree/py.typed -> build/lib/datatree
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/datatree
copying build/lib/datatree/iterators.py -> build/bdist.linux-x86_64/wheel/./datatree
creating build/bdist.linux-x86_64/wheel/datatree/tests
copying build/lib/datatree/tests/test_formatting_html.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_dataset_api.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_treenode.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/conftest.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_mapping.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_extensions.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_version.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_datatree.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_formatting.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_io.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/formatting_html.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/formatting.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/render.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/_version.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/io.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/__init__.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/treenode.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/common.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/testing.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/extensions.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/py.typed -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/datatree.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/mapping.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/ops.py -> build/bdist.linux-x86_64/wheel/./datatree
running install_egg_info
Copying xarray_datatree.egg-info to build/bdist.linux-x86_64/wheel/./xarray_datatree-0.0.14.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/xarray_datatree-0.0.14.dist-info/WHEEL
creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datatree/.tmp-o8d6qd_0/xarray_datatree-0.0.14-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'datatree/__init__.py'
adding 'datatree/_version.py'
adding 'datatree/common.py'
adding 'datatree/datatree.py'
adding 'datatree/extensions.py'
adding 'datatree/formatting.py'
adding 'datatree/formatting_html.py'
adding 'datatree/io.py'
adding 'datatree/iterators.py'
adding 'datatree/mapping.py'
adding 'datatree/ops.py'
adding 'datatree/py.typed'
adding 'datatree/render.py'
adding 'datatree/testing.py'
adding 'datatree/treenode.py'
adding 'datatree/tests/__init__.py'
adding 'datatree/tests/conftest.py'
adding 'datatree/tests/test_dataset_api.py'
adding 'datatree/tests/test_datatree.py'
adding 'datatree/tests/test_extensions.py'
adding 'datatree/tests/test_formatting.py'
adding 'datatree/tests/test_formatting_html.py'
adding 'datatree/tests/test_io.py'
adding 'datatree/tests/test_mapping.py'
adding 'datatree/tests/test_treenode.py'
adding 'datatree/tests/test_version.py'
adding 'xarray_datatree-0.0.14.dist-info/LICENSE'
adding 'xarray_datatree-0.0.14.dist-info/METADATA'
adding 'xarray_datatree-0.0.14.dist-info/WHEEL'
adding 'xarray_datatree-0.0.14.dist-info/top_level.txt'
adding 'xarray_datatree-0.0.14.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built xarray_datatree-0.0.14-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datatree  
* Building wheel...
running bdist_wheel
running build
running build_py
copying datatree/_version.py -> build/lib/datatree
creating build/lib/build/lib/datatree
copying build/lib/datatree/iterators.py -> build/lib/build/lib/datatree
copying build/lib/datatree/formatting_html.py -> build/lib/build/lib/datatree
copying build/lib/datatree/formatting.py -> build/lib/build/lib/datatree
copying build/lib/datatree/render.py -> build/lib/build/lib/datatree
copying build/lib/datatree/_version.py -> build/lib/build/lib/datatree
copying build/lib/datatree/io.py -> build/lib/build/lib/datatree
copying build/lib/datatree/__init__.py -> build/lib/build/lib/datatree
copying build/lib/datatree/treenode.py -> build/lib/build/lib/datatree
copying build/lib/datatree/common.py -> build/lib/build/lib/datatree
copying build/lib/datatree/testing.py -> build/lib/build/lib/datatree
copying build/lib/datatree/extensions.py -> build/lib/build/lib/datatree
copying build/lib/datatree/datatree.py -> build/lib/build/lib/datatree
copying build/lib/datatree/mapping.py -> build/lib/build/lib/datatree
copying build/lib/datatree/ops.py -> build/lib/build/lib/datatree
creating build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_formatting_html.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_dataset_api.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_treenode.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/__init__.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/conftest.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_mapping.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_extensions.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_version.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_datatree.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_formatting.py -> build/lib/build/lib/datatree/tests
copying build/lib/datatree/tests/test_io.py -> build/lib/build/lib/datatree/tests
running egg_info
writing xarray_datatree.egg-info/PKG-INFO
writing dependency_links to xarray_datatree.egg-info/dependency_links.txt
writing requirements to xarray_datatree.egg-info/requires.txt
writing top-level names to xarray_datatree.egg-info/top_level.txt
reading manifest file 'xarray_datatree.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'xarray_datatree.egg-info/SOURCES.txt'
copying build/lib/datatree/py.typed -> build/lib/build/lib/datatree
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/build
creating build/bdist.linux-x86_64/wheel/build/lib
creating build/bdist.linux-x86_64/wheel/build/lib/datatree
copying build/lib/build/lib/datatree/iterators.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
creating build/bdist.linux-x86_64/wheel/build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_formatting_html.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_dataset_api.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_treenode.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/conftest.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_mapping.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_extensions.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_version.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_datatree.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_formatting.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/tests/test_io.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree/tests
copying build/lib/build/lib/datatree/formatting_html.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/formatting.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/render.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/_version.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/io.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/__init__.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/treenode.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/common.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/testing.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/extensions.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/py.typed -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/datatree.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/mapping.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
copying build/lib/build/lib/datatree/ops.py -> build/bdist.linux-x86_64/wheel/./build/lib/datatree
creating build/bdist.linux-x86_64/wheel/datatree
copying build/lib/datatree/iterators.py -> build/bdist.linux-x86_64/wheel/./datatree
creating build/bdist.linux-x86_64/wheel/datatree/tests
copying build/lib/datatree/tests/test_formatting_html.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_dataset_api.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_treenode.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/conftest.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_mapping.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_extensions.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_version.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_datatree.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_formatting.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/tests/test_io.py -> build/bdist.linux-x86_64/wheel/./datatree/tests
copying build/lib/datatree/formatting_html.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/formatting.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/render.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/_version.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/io.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/__init__.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/treenode.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/common.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/testing.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/extensions.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/py.typed -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/datatree.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/mapping.py -> build/bdist.linux-x86_64/wheel/./datatree
copying build/lib/datatree/ops.py -> build/bdist.linux-x86_64/wheel/./datatree
running install_egg_info
Copying xarray_datatree.egg-info to build/bdist.linux-x86_64/wheel/./xarray_datatree-0.0.14.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/xarray_datatree-0.0.14.dist-info/WHEEL
creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datatree/.tmp-ly8ptpzo/xarray_datatree-0.0.14-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'build/lib/datatree/__init__.py'
adding 'build/lib/datatree/_version.py'
adding 'build/lib/datatree/common.py'
adding 'build/lib/datatree/datatree.py'
adding 'build/lib/datatree/extensions.py'
adding 'build/lib/datatree/formatting.py'
adding 'build/lib/datatree/formatting_html.py'
adding 'build/lib/datatree/io.py'
adding 'build/lib/datatree/iterators.py'
adding 'build/lib/datatree/mapping.py'
adding 'build/lib/datatree/ops.py'
adding 'build/lib/datatree/py.typed'
adding 'build/lib/datatree/render.py'
adding 'build/lib/datatree/testing.py'
adding 'build/lib/datatree/treenode.py'
adding 'build/lib/datatree/tests/__init__.py'
adding 'build/lib/datatree/tests/conftest.py'
adding 'build/lib/datatree/tests/test_dataset_api.py'
adding 'build/lib/datatree/tests/test_datatree.py'
adding 'build/lib/datatree/tests/test_extensions.py'
adding 'build/lib/datatree/tests/test_formatting.py'
adding 'build/lib/datatree/tests/test_formatting_html.py'
adding 'build/lib/datatree/tests/test_io.py'
adding 'build/lib/datatree/tests/test_mapping.py'
adding 'build/lib/datatree/tests/test_treenode.py'
adding 'build/lib/datatree/tests/test_version.py'
adding 'datatree/__init__.py'
adding 'datatree/_version.py'
adding 'datatree/common.py'
adding 'datatree/datatree.py'
adding 'datatree/extensions.py'
adding 'datatree/formatting.py'
adding 'datatree/formatting_html.py'
adding 'datatree/io.py'
adding 'datatree/iterators.py'
adding 'datatree/mapping.py'
adding 'datatree/ops.py'
adding 'datatree/py.typed'
adding 'datatree/render.py'
adding 'datatree/testing.py'
adding 'datatree/treenode.py'
adding 'datatree/tests/__init__.py'
adding 'datatree/tests/conftest.py'
adding 'datatree/tests/test_dataset_api.py'
adding 'datatree/tests/test_datatree.py'
adding 'datatree/tests/test_extensions.py'
adding 'datatree/tests/test_formatting.py'
adding 'datatree/tests/test_formatting_html.py'
adding 'datatree/tests/test_io.py'
adding 'datatree/tests/test_mapping.py'
adding 'datatree/tests/test_treenode.py'
adding 'datatree/tests/test_version.py'
adding 'xarray_datatree-0.0.14.dist-info/LICENSE'
adding 'xarray_datatree-0.0.14.dist-info/METADATA'
adding 'xarray_datatree-0.0.14.dist-info/WHEEL'
adding 'xarray_datatree-0.0.14.dist-info/top_level.txt'
adding 'xarray_datatree-0.0.14.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built xarray_datatree-0.0.14-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with "installer" module
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datatree/build; python3.13 -m pytest --pyargs datatree -k "not test_diff_node_data"
ImportError while loading conftest '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datatree/build/datatree/tests/conftest.py'.
datatree/__init__.py:2: in <module>
    from .datatree import DataTree
datatree/datatree.py:33: in <module>
    from xarray.core.utils import (
E   ImportError: cannot import name 'HybridMappingProxy' from 'xarray.core.utils' (/usr/lib/python3/dist-packages/xarray/core/utils.py)
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=4: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_datatree/build; python3.13 -m pytest --pyargs datatree -k "not test_diff_node_data"
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datatree/build; python3.12 -m pytest --pyargs datatree -k "not test_diff_node_data"
ImportError while loading conftest '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datatree/build/datatree/tests/conftest.py'.
datatree/__init__.py:2: in <module>
    from .datatree import DataTree
datatree/datatree.py:33: in <module>
    from xarray.core.utils import (
E   ImportError: cannot import name 'HybridMappingProxy' from 'xarray.core.utils' (/usr/lib/python3/dist-packages/xarray/core/utils.py)
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=4: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_datatree/build; python3.12 -m pytest --pyargs datatree -k "not test_diff_node_data"
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202412/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.



More information about the Pkg-grass-devel mailing list