Bug#1114709: pyjdata: FTBFS with NumPy 2.3

roehling at debian.org roehling at debian.org
Mon Sep 8 20:44:27 BST 2025


Source: pyjdata
Version: 0.3.6-1
Severity: important
User: debian-python at lists.debian.org
Usertags: numpy2.3
Tags: ftbfs, forky, sid

Dear maintainer,

During a test rebuild for NumPy 2.3, pyjdata failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
        Usage of dash-separated 'description-file' will not be supported in future
        versions. Please use the underscore name 'description_file' instead.

        By 2026-Mar-03, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.

        See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
        ********************************************************************************

!!
  opt = self._enforce_underscore(opt, section)
/usr/lib/python3/dist-packages/setuptools/dist.py:599: SetuptoolsDeprecationWarning: Invalid dash-separated key 'description-file' in 'metadata' (setup.cfg), please use the underscore name 'description_file' instead.
!!

        ********************************************************************************
        Usage of dash-separated 'description-file' will not be supported in future
        versions. Please use the underscore name 'description_file' instead.
        (Affected: jdata).

        By 2026-Mar-03, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.

        See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
        ********************************************************************************

!!
  opt = self._enforce_underscore(opt, section)
/usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: Apache Software License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************

!!
  self._finalize_license_expression()
running config
   dh_auto_build -O--buildsystem=pybuild
I: pybuild base:311: /usr/bin/python3 setup.py build 
/usr/lib/python3/dist-packages/setuptools/dist.py:599: SetuptoolsDeprecationWarning: Invalid dash-separated key 'description-file' in 'metadata' (setup.cfg), please use the underscore name 'description_file' instead.
!!

        ********************************************************************************
        Usage of dash-separated 'description-file' will not be supported in future
        versions. Please use the underscore name 'description_file' instead.

        By 2026-Mar-03, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.

        See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
        ********************************************************************************

!!
  opt = self._enforce_underscore(opt, section)
/usr/lib/python3/dist-packages/setuptools/dist.py:599: SetuptoolsDeprecationWarning: Invalid dash-separated key 'description-file' in 'metadata' (setup.cfg), please use the underscore name 'description_file' instead.
!!

        ********************************************************************************
        Usage of dash-separated 'description-file' will not be supported in future
        versions. Please use the underscore name 'description_file' instead.
        (Affected: jdata).

        By 2026-Mar-03, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.

        See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
        ********************************************************************************

!!
  opt = self._enforce_underscore(opt, section)
/usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: Apache Software License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************

!!
  self._finalize_license_expression()
running build
running build_py
creating /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata
copying jdata/cmd.py -> /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata
copying jdata/__init__.py -> /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata
copying jdata/jfile.py -> /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata
copying jdata/jdata.py -> /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build; python3.13 -m unittest discover -v test/
test_module (testjd.TestModule.test_module) ... ERROR

======================================================================
ERROR: test_module (testjd.TestModule.test_module)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/test/testjd.py", line 43, in test_module
    print(jd.show(jd.encode(newdata,{'compression':'zlib','base64':True}), indent=4, default=jd.jsonfilter));
                  ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata/jdata.py", line 62, in encode
    return encodedict(d,opt);
  File "/build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata/jdata.py", line 186, in encodedict
    d[newkey]=encode(v,opt);
              ~~~~~~^^^^^^^
  File "/build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build/jdata/jdata.py", line 86, in encode
    newobj['_ArrayZipData_']=np.asarray(newobj['_ArrayData_'],dtype=d.dtype).tostring();
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

----------------------------------------------------------------------
Ran 1 test in 0.001s

FAILED (errors=1)
== Original Python native data ==
OrderedDict({'const': [2.0, 1, True, False, None, nan, -inf], 'shortarray': [1, 2, 3], 'a_complex': (1+2j), 'object': [[[1], [2], [3]], None, False], 'a_typedarray': array([9, 9, 9, 9], dtype=uint8), 'a_ndarray': array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]], dtype=int32), 'a_biginteger': 9007199254740991, 'a_map': {nan: 'one', 2: 'two', 'k': 'three'}})
== JData-annotated data ==
{
    "const": [
        2.0,
        1,
        true,
        false,
        null,
        "_NaN_",
        "-_Inf_"
    ],
    "shortarray": [
        1,
        2,
        3
    ],
    "a_complex": {
        "_ArrayType_": "double",
        "_ArraySize_": 1,
        "_ArrayIsComplex_": true,
        "_ArrayData_": [
            1.0,
            2.0
        ]
    },
    "object": [
        [
            [
                1
            ],
            [
                2
            ],
            [
                3
            ]
        ],
        null,
        false
    ],
    "a_typedarray": {
        "_ArrayType_": "uint8",
        "_ArraySize_": [
            4
        ],
        "_ArrayData_": [
            9,
            9,
            9,
            9
        ]
    },
    "a_ndarray": {
        "_ArrayType_": "int32",
        "_ArraySize_": [
            3,
            3
        ],
        "_ArrayData_": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
        ]
    },
    "a_biginteger": 9007199254740991,
    "a_map": {
        "2": "two",
        "k": "three",
        "_NaN_": "one"
    }
}
None
== JData-annotated data exported to JSON with zlib compression ==
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/pyjdata-0.3.6/.pybuild/cpython3_3.13_jdata/build; python3.13 -m unittest discover -v test/
dh_auto_test: error: pybuild --test -i python{version} -p 3.13 returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-09-08T05:58:25Z

-------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/debian/developers-roehling.numpy/artifact/2453857/

About the archive rebuild: The build was made on debusine.debian.net,
using sbuild.

You can find the build task here:
https://debusine.debian.net/debian/developers-roehling.numpy/work-request/163695/

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.

Cheers
Timo



More information about the debian-science-maintainers mailing list