[Debian-astro-maintainers] Bug#1126250: specutils: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13
Santiago Vila
sanvila at debian.org
Fri Jan 23 11:38:53 GMT 2026
Package: src:specutils
Version: 2.2.0-1
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202601/
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 cannot 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 add an affects on src:specutils, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --with python3 --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:384: python3.14 setup.py clean
/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 :: BSD License
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
[... snipped ...]
[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[33ms[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m [ 49%]
[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[32m [ 60%]
[0m[33ms[0m[32m.[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[33ms[0m[32m [ 67%][0m
specutils/tests/test_manipulation.py [32m.[0m[32m.[0m[32m.[0m[32m [ 68%][0m
specutils/tests/test_model_replace.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m [ 68%][0m
specutils/tests/test_region_extract.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m [ 71%][0m
specutils/tests/test_regions.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m [ 73%][0m
specutils/tests/test_resample.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[33mx[0m[31mF[0m[31mF[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 76%][0m
specutils/tests/test_slicing.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 77%][0m
specutils/tests/test_smoothing.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 80%][0m
specutils/tests/test_spectral_axis.py [33ms[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 85%]
[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 89%][0m
specutils/tests/test_spectral_region.py [32m.[0m[32m.[0m[31m [ 89%][0m
specutils/tests/test_spectrum1d.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31mF[0m[31mF[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[33ms[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 94%][0m
specutils/tests/test_spectrum1d_unit_pix2.py [32m.[0m[32m.[0m[31m [ 94%][0m
specutils/tests/test_spectrum_collection.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 95%][0m
specutils/tests/test_template_comparison.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [ 97%][0m
specutils/tests/test_unc.py [32m.[0m[33mx[0m[32m.[0m[31m [ 97%][0m
specutils/tests/test_utils.py [32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[32m.[0m[31m [100%][0m
=================================== FAILURES ===================================
[31m[1m__________ test_resample_different_units[LinearInterpolatedResampler] __________[0m
all_resamplers = <class 'specutils.manipulation.resample.LinearInterpolatedResampler'>
[0m[94mdef[39;49;00m[90m [39;49;00m[92mtest_resample_different_units[39;49;00m(all_resamplers):[90m[39;49;00m
input_spectrum = Spectrum(spectral_axis=[[94m5000[39;49;00m, [94m6000[39;49;00m, [94m7000[39;49;00m] * u.AA,[90m[39;49;00m
flux=[[94m1[39;49;00m, [94m2[39;49;00m, [94m3[39;49;00m] * u.mJy)[90m[39;49;00m
resampler = all_resamplers([33m"[39;49;00m[33mnan_fill[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
[94mif[39;49;00m all_resamplers == FluxConservingResampler:[90m[39;49;00m
pytest.xfail([33m'[39;49;00m[33mflux conserving resampler cannot yet handle differing units[39;49;00m[33m'[39;49;00m)[90m[39;49;00m
[90m[39;49;00m
resamp_grid = [[94m5500[39;49;00m, [94m6500[39;49;00m]*u.nm[90m[39;49;00m
resampled = resampler(input_spectrum, resamp_grid)[90m[39;49;00m
[94massert[39;49;00m np.all(np.isnan(resampled.flux))[90m[39;49;00m
[90m[39;49;00m
resamp_grid = [[94m550[39;49;00m, [94m650[39;49;00m]*u.nm[90m[39;49;00m
resampled = resampler(input_spectrum, resamp_grid)[90m[39;49;00m
[94massert[39;49;00m [95mnot[39;49;00m np.any(np.isnan(resampled.flux))[90m[39;49;00m
[90m[39;49;00m
resamp_grid = [[94m550[39;49;00m, [94m650[39;49;00m]*u.nm[90m[39;49;00m
resampled = resampler(input_spectrum, resamp_grid)[90m[39;49;00m
[90m[39;49;00m
[90m# Test conversion to velocity grid[39;49;00m[90m[39;49;00m
rest_wavelength = [94m656.2[39;49;00m * u.nm[90m[39;49;00m
wavelengths = np.linspace([94m640[39;49;00m, [94m672[39;49;00m, [94m10[39;49;00m) * u.nm[90m[39;49;00m
flux = np.ones([94m10[39;49;00m) * u.mJy[90m[39;49;00m
spec1d = Spectrum(spectral_axis=wavelengths, velocity_convention=[33m"[39;49;00m[33moptical[39;49;00m[33m"[39;49;00m, flux=flux)[90m[39;49;00m
spec1d.spectral_axis.doppler_rest = rest_wavelength[90m[39;49;00m
[90m[39;49;00m
velocities = np.linspace(-[94m1000[39;49;00m, [94m1000[39;49;00m, [94m5[39;49;00m) * u.km/u.s[90m[39;49;00m
velocity_grid = SpectralAxis(velocities, doppler_rest=rest_wavelength,[90m[39;49;00m
doppler_convention=[33m"[39;49;00m[33moptical[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
> velocity_binned = resampler(spec1d, velocity_grid)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
[1m[31mspecutils/tests/test_resample.py[0m:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[1m[31mspecutils/manipulation/resample.py[0m:36: in __call__
[0m[94mreturn[39;49;00m [96mself[39;49;00m.resample1d(orig_spectrum, fin_spec_axis)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
[1m[31mspecutils/manipulation/resample.py[0m:385: in resample1d
[0m[94mreturn[39;49;00m Spectrum(spectral_axis=fin_spec_axis,[90m[39;49;00m
[1m[31mspecutils/spectra/spectrum.py[0m:339: in __init__
[0mwcs = gwcs_from_array([96mself[39;49;00m._spectral_axis,[90m[39;49;00m
[1m[31mspecutils/utils/wcs_utils.py[0m:295: in gwcs_from_array
[0mspectral_frame = cf.SpectralFrame(unit=array.unit, axes_order=(spectral_axis_index,),[90m[39;49;00m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:44: in __init__
[0mpht = axis_physical_types [95mor[39;49;00m [96mself[39;49;00m._default_axis_physical_types(unit)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <[AttributeError("'SpectralFrame' object has no attribute '_name'") raised in repr()] SpectralFrame object at 0x7fc1cc6e1940>
unit = [Unit("km / s")]
[0m[94mdef[39;49;00m[90m [39;49;00m[92m_default_axis_physical_types[39;49;00m([96mself[39;49;00m, unit):[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mfrequency[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.freq[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mlength[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.wl[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33menergy[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.energy[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mspeed[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
> warnings.warn([90m[39;49;00m
[33m"[39;49;00m[33mPhysical type may be ambiguous. Consider [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33msetting the physical type explicitly as [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33meither [39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.optical[39;49;00m[33m'[39;49;00m[33m or [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.radio[39;49;00m[33m'[39;49;00m[33m.[39;49;00m[33m"[39;49;00m[90m[39;49;00m
)[90m[39;49;00m
[1m[31mE UserWarning: Physical type may be ambiguous. Consider setting the physical type explicitly as either 'spect.dopplerVeloc.optical' or 'spect.dopplerVeloc.radio'.[0m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:65: UserWarning
[31m[1m__________ test_resample_different_units[SplineInterpolatedResampler] __________[0m
all_resamplers = <class 'specutils.manipulation.resample.SplineInterpolatedResampler'>
[0m[94mdef[39;49;00m[90m [39;49;00m[92mtest_resample_different_units[39;49;00m(all_resamplers):[90m[39;49;00m
input_spectrum = Spectrum(spectral_axis=[[94m5000[39;49;00m, [94m6000[39;49;00m, [94m7000[39;49;00m] * u.AA,[90m[39;49;00m
flux=[[94m1[39;49;00m, [94m2[39;49;00m, [94m3[39;49;00m] * u.mJy)[90m[39;49;00m
resampler = all_resamplers([33m"[39;49;00m[33mnan_fill[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
[94mif[39;49;00m all_resamplers == FluxConservingResampler:[90m[39;49;00m
pytest.xfail([33m'[39;49;00m[33mflux conserving resampler cannot yet handle differing units[39;49;00m[33m'[39;49;00m)[90m[39;49;00m
[90m[39;49;00m
resamp_grid = [[94m5500[39;49;00m, [94m6500[39;49;00m]*u.nm[90m[39;49;00m
resampled = resampler(input_spectrum, resamp_grid)[90m[39;49;00m
[94massert[39;49;00m np.all(np.isnan(resampled.flux))[90m[39;49;00m
[90m[39;49;00m
resamp_grid = [[94m550[39;49;00m, [94m650[39;49;00m]*u.nm[90m[39;49;00m
resampled = resampler(input_spectrum, resamp_grid)[90m[39;49;00m
[94massert[39;49;00m [95mnot[39;49;00m np.any(np.isnan(resampled.flux))[90m[39;49;00m
[90m[39;49;00m
resamp_grid = [[94m550[39;49;00m, [94m650[39;49;00m]*u.nm[90m[39;49;00m
resampled = resampler(input_spectrum, resamp_grid)[90m[39;49;00m
[90m[39;49;00m
[90m# Test conversion to velocity grid[39;49;00m[90m[39;49;00m
rest_wavelength = [94m656.2[39;49;00m * u.nm[90m[39;49;00m
wavelengths = np.linspace([94m640[39;49;00m, [94m672[39;49;00m, [94m10[39;49;00m) * u.nm[90m[39;49;00m
flux = np.ones([94m10[39;49;00m) * u.mJy[90m[39;49;00m
spec1d = Spectrum(spectral_axis=wavelengths, velocity_convention=[33m"[39;49;00m[33moptical[39;49;00m[33m"[39;49;00m, flux=flux)[90m[39;49;00m
spec1d.spectral_axis.doppler_rest = rest_wavelength[90m[39;49;00m
[90m[39;49;00m
velocities = np.linspace(-[94m1000[39;49;00m, [94m1000[39;49;00m, [94m5[39;49;00m) * u.km/u.s[90m[39;49;00m
velocity_grid = SpectralAxis(velocities, doppler_rest=rest_wavelength,[90m[39;49;00m
doppler_convention=[33m"[39;49;00m[33moptical[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
> velocity_binned = resampler(spec1d, velocity_grid)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
[1m[31mspecutils/tests/test_resample.py[0m:230:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[1m[31mspecutils/manipulation/resample.py[0m:36: in __call__
[0m[94mreturn[39;49;00m [96mself[39;49;00m.resample1d(orig_spectrum, fin_spec_axis)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
[1m[31mspecutils/manipulation/resample.py[0m:478: in resample1d
[0m[94mreturn[39;49;00m Spectrum(spectral_axis=fin_spec_axis,[90m[39;49;00m
[1m[31mspecutils/spectra/spectrum.py[0m:339: in __init__
[0mwcs = gwcs_from_array([96mself[39;49;00m._spectral_axis,[90m[39;49;00m
[1m[31mspecutils/utils/wcs_utils.py[0m:295: in gwcs_from_array
[0mspectral_frame = cf.SpectralFrame(unit=array.unit, axes_order=(spectral_axis_index,),[90m[39;49;00m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:44: in __init__
[0mpht = axis_physical_types [95mor[39;49;00m [96mself[39;49;00m._default_axis_physical_types(unit)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <[AttributeError("'SpectralFrame' object has no attribute '_name'") raised in repr()] SpectralFrame object at 0x7fc1cd2a15c0>
unit = [Unit("km / s")]
[0m[94mdef[39;49;00m[90m [39;49;00m[92m_default_axis_physical_types[39;49;00m([96mself[39;49;00m, unit):[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mfrequency[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.freq[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mlength[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.wl[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33menergy[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.energy[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mspeed[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
> warnings.warn([90m[39;49;00m
[33m"[39;49;00m[33mPhysical type may be ambiguous. Consider [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33msetting the physical type explicitly as [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33meither [39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.optical[39;49;00m[33m'[39;49;00m[33m or [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.radio[39;49;00m[33m'[39;49;00m[33m.[39;49;00m[33m"[39;49;00m[90m[39;49;00m
)[90m[39;49;00m
[1m[31mE UserWarning: Physical type may be ambiguous. Consider setting the physical type explicitly as either 'spect.dopplerVeloc.optical' or 'spect.dopplerVeloc.radio'.[0m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:65: UserWarning
[31m[1m________________________ test_spectral_axis_conversions ________________________[0m
[0m[94mdef[39;49;00m[90m [39;49;00m[92mtest_spectral_axis_conversions[39;49;00m():[90m[39;49;00m
[90m# By default the spectral axis units should be set to angstroms[39;49;00m[90m[39;49;00m
spec = Spectrum(flux=np.array([[94m26.0[39;49;00m, [94m44.5[39;49;00m]) * u.Jy,[90m[39;49;00m
spectral_axis=np.array([[94m400[39;49;00m, [94m500[39;49;00m]) * u.AA)[90m[39;49;00m
[90m[39;49;00m
[94massert[39;49;00m np.all(spec.spectral_axis == np.array([[94m400[39;49;00m, [94m500[39;49;00m]) * u.angstrom)[90m[39;49;00m
[94massert[39;49;00m spec.spectral_axis.unit == u.angstrom[90m[39;49;00m
[90m[39;49;00m
flux = np.ones([94m49[39;49;00m) * u.Jy[90m[39;49;00m
spec = Spectrum(spectral_axis=np.arange(flux.size) * u.AA, flux=flux)[90m[39;49;00m
[90m[39;49;00m
[94massert[39;49;00m spec.wavelength.unit == u.AA[90m[39;49;00m
[90m[39;49;00m
spec = Spectrum(spectral_axis=np.arange([94m1[39;49;00m, [94m50[39;49;00m) * u.nm, flux=flux)[90m[39;49;00m
[90m[39;49;00m
[94massert[39;49;00m spec.frequency.unit == u.GHz[90m[39;49;00m
[90m[39;49;00m
[94mwith[39;49;00m pytest.raises([96mValueError[39;49;00m):[90m[39;49;00m
spec.velocity[90m[39;49;00m
[90m[39;49;00m
spec = Spectrum(spectral_axis=np.arange([94m100[39;49;00m, [94m150[39;49;00m) * u.nm, flux=flux)[90m[39;49;00m
[90m[39;49;00m
> new_spec = spec.with_spectral_axis_unit(u.km / u.s, rest_value=[94m125[39;49;00m * u.um,[90m[39;49;00m
velocity_convention=[33m"[39;49;00m[33mrelativistic[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
[1m[31mspecutils/tests/test_spectrum1d.py[0m:186:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[1m[31mspecutils/spectra/spectrum_mixin.py[0m:245: in with_spectral_axis_unit
[0m[94mreturn[39;49;00m [96mself[39;49;00m.[91m__class__[39;49;00m(flux=[96mself[39;49;00m.flux, spectral_axis=new_spectral_axis, meta=meta,[90m[39;49;00m
[1m[31mspecutils/spectra/spectrum.py[0m:339: in __init__
[0mwcs = gwcs_from_array([96mself[39;49;00m._spectral_axis,[90m[39;49;00m
[1m[31mspecutils/utils/wcs_utils.py[0m:295: in gwcs_from_array
[0mspectral_frame = cf.SpectralFrame(unit=array.unit, axes_order=(spectral_axis_index,),[90m[39;49;00m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:44: in __init__
[0mpht = axis_physical_types [95mor[39;49;00m [96mself[39;49;00m._default_axis_physical_types(unit)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <[AttributeError("'SpectralFrame' object has no attribute '_name'") raised in repr()] SpectralFrame object at 0x7fc1cc6b5080>
unit = [Unit("km / s")]
[0m[94mdef[39;49;00m[90m [39;49;00m[92m_default_axis_physical_types[39;49;00m([96mself[39;49;00m, unit):[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mfrequency[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.freq[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mlength[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.wl[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33menergy[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.energy[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mspeed[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
> warnings.warn([90m[39;49;00m
[33m"[39;49;00m[33mPhysical type may be ambiguous. Consider [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33msetting the physical type explicitly as [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33meither [39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.optical[39;49;00m[33m'[39;49;00m[33m or [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.radio[39;49;00m[33m'[39;49;00m[33m.[39;49;00m[33m"[39;49;00m[90m[39;49;00m
)[90m[39;49;00m
[1m[31mE UserWarning: Physical type may be ambiguous. Consider setting the physical type explicitly as either 'spect.dopplerVeloc.optical' or 'spect.dopplerVeloc.radio'.[0m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:65: UserWarning
[31m[1m___________________ test_spectral_axis_and_flux_conversions ____________________[0m
[0m[94mdef[39;49;00m[90m [39;49;00m[92mtest_spectral_axis_and_flux_conversions[39;49;00m():[90m[39;49;00m
[90m [39;49;00m[33m"""A little bit from both sets of tests."""[39;49;00m[90m[39;49;00m
spec = Spectrum(spectral_axis=np.arange([94m100[39;49;00m, [94m150[39;49;00m) * u.nm,[90m[39;49;00m
flux=np.ones([94m49[39;49;00m) * u.Jy)[90m[39;49;00m
[90m[39;49;00m
> new_spec = spec.with_spectral_axis_and_flux_units([90m[39;49;00m
u.km / u.s, u.uJy, rest_value=[94m125[39;49;00m * u.um, velocity_convention=[33m"[39;49;00m[33mrelativistic[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
[1m[31mspecutils/tests/test_spectrum1d.py[0m:213:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[1m[31mspecutils/spectra/spectrum_mixin.py[0m:260: in with_spectral_axis_and_flux_units
[0mnew_spec = [96mself[39;49;00m.with_spectral_axis_unit([90m[39;49;00m
[1m[31mspecutils/spectra/spectrum_mixin.py[0m:245: in with_spectral_axis_unit
[0m[94mreturn[39;49;00m [96mself[39;49;00m.[91m__class__[39;49;00m(flux=[96mself[39;49;00m.flux, spectral_axis=new_spectral_axis, meta=meta,[90m[39;49;00m
[1m[31mspecutils/spectra/spectrum.py[0m:339: in __init__
[0mwcs = gwcs_from_array([96mself[39;49;00m._spectral_axis,[90m[39;49;00m
[1m[31mspecutils/utils/wcs_utils.py[0m:295: in gwcs_from_array
[0mspectral_frame = cf.SpectralFrame(unit=array.unit, axes_order=(spectral_axis_index,),[90m[39;49;00m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:44: in __init__
[0mpht = axis_physical_types [95mor[39;49;00m [96mself[39;49;00m._default_axis_physical_types(unit)[90m[39;49;00m
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^[90m[39;49;00m
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <[AttributeError("'SpectralFrame' object has no attribute '_name'") raised in repr()] SpectralFrame object at 0x7fc1cc6772a0>
unit = [Unit("km / s")]
[0m[94mdef[39;49;00m[90m [39;49;00m[92m_default_axis_physical_types[39;49;00m([96mself[39;49;00m, unit):[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mfrequency[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.freq[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mlength[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.wl[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33menergy[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
[94mreturn[39;49;00m ([33m"[39;49;00m[33mem.energy[39;49;00m[33m"[39;49;00m,)[90m[39;49;00m
[94mif[39;49;00m unit[[94m0[39;49;00m].physical_type == [33m"[39;49;00m[33mspeed[39;49;00m[33m"[39;49;00m:[90m[39;49;00m
> warnings.warn([90m[39;49;00m
[33m"[39;49;00m[33mPhysical type may be ambiguous. Consider [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33msetting the physical type explicitly as [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33meither [39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.optical[39;49;00m[33m'[39;49;00m[33m or [39;49;00m[33m"[39;49;00m[90m[39;49;00m
[33m"[39;49;00m[33m'[39;49;00m[33mspect.dopplerVeloc.radio[39;49;00m[33m'[39;49;00m[33m.[39;49;00m[33m"[39;49;00m[90m[39;49;00m
)[90m[39;49;00m
[1m[31mE UserWarning: Physical type may be ambiguous. Consider setting the physical type explicitly as either 'spect.dopplerVeloc.optical' or 'spect.dopplerVeloc.radio'.[0m
[1m[31m/usr/lib/python3/dist-packages/gwcs/coordinate_frames/_spectral.py[0m:65: UserWarning
[36m[1m=========================== short test summary info ============================[0m
[31mFAILED[0m specutils/tests/test_resample.py::[1mtest_resample_different_units[LinearInterpolatedResampler][0m - UserWarning: Physical type may be ambiguous. Consider setting the physical ...
[31mFAILED[0m specutils/tests/test_resample.py::[1mtest_resample_different_units[SplineInterpolatedResampler][0m - UserWarning: Physical type may be ambiguous. Consider setting the physical ...
[31mFAILED[0m specutils/tests/test_spectrum1d.py::[1mtest_spectral_axis_conversions[0m - UserWarning: Physical type may be ambiguous. Consider setting the physical ...
[31mFAILED[0m specutils/tests/test_spectrum1d.py::[1mtest_spectral_axis_and_flux_conversions[0m - UserWarning: Physical type may be ambiguous. Consider setting the physical ...
[31m============ [31m[1m4 failed[0m, [32m549 passed[0m, [33m133 skipped[0m, [33m9 xfailed[0m[31m in 15.36s[0m[31m ============[0m
E: pybuild pybuild:483: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest --remote-data=none --doctest-rst
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
More information about the Debian-astro-maintainers
mailing list