Describe the bug
Noticed this when migrating dftd4 to Python 3.14 on cf
= ERRORS =
_ ERROR collecting test_qcschema.py _
$PREFIX/lib/python3.14/site-packages/dftd4/test_qcschema.py:21: in <module>
import qcelemental as qcel
$PREFIX/lib/python3.14/site-packages/qcelemental/__init__.py:10: in <module>
from . import covalent_radii, models, molparse, molutil, periodic_table, physical_constants, util, vanderwaals_radii
$PREFIX/lib/python3.14/site-packages/qcelemental/covalent_radii.py:9: in <module>
from .datum import Datum, print_variables
$PREFIX/lib/python3.14/site-packages/qcelemental/datum.py:16: in <module>
class Datum(BaseModel):
$PREFIX/lib/python3.14/site-packages/pydantic/main.py:221: in __new__
inferred = ModelField.infer(
$PREFIX/lib/python3.14/site-packages/pydantic/fields.py:504: in infer
return cls(
$PREFIX/lib/python3.14/site-packages/pydantic/fields.py:434: in __init__
self.prepare()
$PREFIX/lib/python3.14/site-packages/pydantic/fields.py:544: in prepare
self._set_default_and_type()
$PREFIX/lib/python3.14/site-packages/pydantic/fields.py:576: in _set_default_and_type
raise errors_.ConfigError(f'unable to infer type for attribute "{self.name}"')
E pydantic.errors.ConfigError: unable to infer type for attribute "doi"
To Reproduce
_libgcc_mutex: 0.1-conda_forge conda-forge
_openmp_mutex: 4.5-2_gnu conda-forge
_python_rc: 1-ha5edcf3_0 conda-forge/label/python_rc
ase: 3.26.0-pyhd8ed1ab_0 conda-forge
blinker: 1.9.0-pyhff2d567_0 conda-forge
brotli: 1.1.0-hb03c661_4 conda-forge
brotli-bin: 1.1.0-hb03c661_4 conda-forge
bzip2: 1.0.8-h4bc722e_7 conda-forge
ca-certificates: 2025.8.3-hbd8a1cb_0 conda-forge
cffi: 1.17.1-py314ha6a4811_1 conda-forge
click: 8.2.1-pyh707e725_0 conda-forge
colorama: 0.4.6-pyhd8ed1ab_1 conda-forge
contourpy: 1.3.3-py314h9891dd4_2 conda-forge
cycler: 0.12.1-pyhd8ed1ab_1 conda-forge
exceptiongroup: 1.3.0-pyhd8ed1ab_0 conda-forge
flask: 3.1.2-pyhd8ed1ab_0 conda-forge
flexcache: 0.3-pyhd8ed1ab_1 conda-forge
flexparser: 0.4-pyhd8ed1ab_1 conda-forge
fonttools: 4.59.2-pyh7db6752_0 conda-forge
freetype: 2.13.3-ha770c72_1 conda-forge
importlib-metadata: 8.7.0-pyhe01879c_1 conda-forge
iniconfig: 2.0.0-pyhd8ed1ab_1 conda-forge
itsdangerous: 2.2.0-pyhd8ed1ab_1 conda-forge
jinja2: 3.1.6-pyhd8ed1ab_0 conda-forge
kiwisolver: 1.4.9-py314hc43b2c7_1 conda-forge
lcms2: 2.17-h717163a_0 conda-forge
ld_impl_linux-64: 2.44-h1423503_1 conda-forge
lerc: 4.0.0-h0aef613_1 conda-forge
libblas: 3.9.0-34_h59b9bed_openblas conda-forge
libbrotlicommon: 1.1.0-hb03c661_4 conda-forge
libbrotlidec: 1.1.0-hb03c661_4 conda-forge
libbrotlienc: 1.1.0-hb03c661_4 conda-forge
libcblas: 3.9.0-34_he106b2a_openblas conda-forge
libdeflate: 1.24-h86f0d12_0 conda-forge
libexpat: 2.7.1-hecca717_0 conda-forge
libffi: 3.4.6-h2dba641_1 conda-forge
libfreetype: 2.13.3-ha770c72_1 conda-forge
libfreetype6: 2.13.3-h48d6fc4_1 conda-forge
libgcc: 15.1.0-h767d61c_4 conda-forge
libgcc-ng: 15.1.0-h69a702a_4 conda-forge
libgfortran: 15.1.0-h69a702a_4 conda-forge
libgfortran5: 15.1.0-hcea5267_4 conda-forge
libgomp: 15.1.0-h767d61c_4 conda-forge
libjpeg-turbo: 3.1.0-hb9d3cd8_0 conda-forge
liblapack: 3.9.0-34_h7ac8fdf_openblas conda-forge
liblzma: 5.8.1-hb9d3cd8_2 conda-forge
libmpdec: 4.0.0-hb9d3cd8_0 conda-forge
libopenblas: 0.3.30-pthreads_h94d23a6_2 conda-forge
libpng: 1.6.50-h421ea60_1 conda-forge
libsqlite: 3.50.4-h0c1763c_0 conda-forge
libstdcxx: 15.1.0-h8f9b012_4 conda-forge
libstdcxx-ng: 15.1.0-h4852527_4 conda-forge
libtiff: 4.7.0-h8261f1e_6 conda-forge
libuuid: 2.38.1-h0b41bf4_0 conda-forge
libwebp-base: 1.6.0-hd42ef1d_0 conda-forge
libxcb: 1.17.0-h8a09558_0 conda-forge
libzlib: 1.3.1-hb9d3cd8_2 conda-forge
markupsafe: 3.0.2-pyhe1237c8_1 conda-forge
matplotlib-base: 3.10.6-py314h1194b4b_1 conda-forge
munkres: 1.1.4-pyhd8ed1ab_1 conda-forge
ncurses: 6.5-h2d0b736_3 conda-forge
numpy: 2.3.2-py314h5d5eb18_2 conda-forge
openjpeg: 2.5.3-h55fea9a_1 conda-forge
openssl: 3.5.2-h26f9b46_0 conda-forge
packaging: 25.0-pyh29332c3_1 conda-forge
pillow: 11.3.0-py314hcbdf0ca_1 conda-forge
pint: 0.25-pyhe01879c_0 conda-forge
platformdirs: 4.4.0-pyhcf101f3_0 conda-forge
pluggy: 1.6.0-pyhd8ed1ab_0 conda-forge
pthread-stubs: 0.4-hb9d3cd8_1002 conda-forge
pycparser: 2.22-pyh29332c3_1 conda-forge
pydantic: 1.10.22-pyh3cfb1c2_0 conda-forge
pygments: 2.19.2-pyhd8ed1ab_0 conda-forge
pyparsing: 3.2.3-pyhe01879c_2 conda-forge
pytest: 8.4.1-pyhd8ed1ab_0 conda-forge
python: 3.14.0rc2-h5989046_100_cp314 conda-forge
python-dateutil: 2.9.0.post0-pyhe01879c_2 conda-forge
python_abi: 3.14-8_cp314 conda-forge
qcelemental: 0.29.0-pyhd8ed1ab_1 conda-forge
qhull: 2020.2-h434a139_5 conda-forge
readline: 8.2-h8c095d6_2 conda-forge
scipy: 1.16.1-py314he7377e1_1 conda-forge
setuptools: 80.9.0-pyhff2d567_0 conda-forge
six: 1.17.0-pyhe01879c_1 conda-forge
tk: 8.6.13-noxft_hd72426e_102 conda-forge
tomli: 2.2.1-pyhe01879c_2 conda-forge
typing-extensions: 4.15.0-h396c80c_0 conda-forge
typing_extensions: 4.15.0-pyhcf101f3_0 conda-forge
tzdata: 2025b-h78e105d_0 conda-forge
unicodedata2: 16.0.0-py314h5bd0f2a_1 conda-forge
werkzeug: 3.1.3-pyhd8ed1ab_1 conda-forge
xorg-libxau: 1.0.12-hb9d3cd8_0 conda-forge
xorg-libxdmcp: 1.1.5-hb9d3cd8_0 conda-forge
zipp: 3.23.0-pyhd8ed1ab_0 conda-forge
zstd: 1.5.7-hb8e6e7a_2 conda-forge
python -c "import qcelemental"
Expected behavior
qcel Datum model works with pydantic in Python 3.14
Additional context
Describe the bug
Noticed this when migrating dftd4 to Python 3.14 on cf
To Reproduce
Expected behavior
qcel
Datummodel works with pydantic in Python 3.14Additional context