-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
While running the tests, using Python 3.14 results in multiple pydantic validation errors.
When switching to Python 3.11, the same tests run without encountering these pydantic errors.
PO #681
For setting up python 3.11 virtual env and running tests
py -3.11 -m venv .venv
.venv\Scripts\activate
pip install -e ".[dev]"
pytest src/testsPydantic Error while using python 3.14
C:\Users\ASUS\Documents\work\opensource\AIOD-rest-api>pytest src/tests
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Scripts\pytest.exe\__main__.py", line 6, in <module>
sys.exit(console_main())
~~~~~~~~~~~~^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 201, in console_main
code = main()
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 156, in main
config = _prepareconfig(args, plugins)
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 341, in _prepareconfig
config = pluginmanager.hook.pytest_cmdline_parse(
pluginmanager=pluginmanager, args=args
)
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 167, in _multicall
raise exception
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
teardown.throw(exception)
~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\helpconfig.py", line 105, in pytest_cmdline_parse
config = yield
^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 1140, in pytest_cmdline_parse
self.parse(args)
~~~~~~~~~~^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 1490, in parse
self._preparse(args, addopts=addopts)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 1394, in _preparse
self.hook.pytest_load_initial_conftests(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
early_config=self, args=args, parser=self._parser
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_hooks.py", line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_manager.py", line 120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 167, in _multicall
raise exception
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
teardown.throw(exception)
~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\warnings.py", line 151, in pytest_load_initial_conftests
return (yield)
^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 139, in _multicall
teardown.throw(exception)
~~~~~~~~~~~~~~^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\capture.py", line 154, in pytest_load_initial_conftests
yield
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\pluggy\_callers.py", line 121, in _multicall
res = hook_impl.function(*args)
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 1218, in pytest_load_initial_conftests
self.pluginmanager._set_initial_conftests(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
args=args,
^^^^^^^^^^
...<8 lines>...
),
^^
)
^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 581, in _set_initial_conftests
self._try_load_conftest(
~~~~~~~~~~~~~~~~~~~~~~~^
anchor,
^^^^^^^
...<2 lines>...
consider_namespace_packages=consider_namespace_packages,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 619, in _try_load_conftest
self._loadconftestmodules(
~~~~~~~~~~~~~~~~~~~~~~~~~^
anchor,
^^^^^^^
...<2 lines>...
consider_namespace_packages=consider_namespace_packages,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 659, in _loadconftestmodules
mod = self._importconftest(
conftestpath,
...<2 lines>...
consider_namespace_packages=consider_namespace_packages,
)
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 735, in _importconftest
self.consider_conftest(mod, registration_name=conftestpath_plugin_name)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 816, in consider_conftest
self.register(conftestmodule, name=registration_name)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 512, in register
self.consider_module(plugin)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 824, in consider_module
self._import_plugin_specs(getattr(mod, "pytest_plugins", []))
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 831, in _import_plugin_specs
self.import_plugin(import_spec)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\config\__init__.py", line 858, in import_plugin
__import__(importspec)
~~~~~~~~~~^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\_pytest\assertion\rewrite.py", line 174, in exec_module
exec(co, module.__dict__)
~~~~^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\ASUS\Documents\work\opensource\AIOD-rest-api\src\tests\testutils\default_instances.py", line 15, in <module>
from database.model.agent.contact import Contact
File "C:\Users\ASUS\Documents\work\opensource\AIOD-rest-api\src\database\model\agent\contact.py", line 6, in <module>
from database.model.agent.email import Email
File "C:\Users\ASUS\Documents\work\opensource\AIOD-rest-api\src\database\model\agent\email.py", line 1, in <module>
from database.model.named_relation import NamedRelation
File "C:\Users\ASUS\Documents\work\opensource\AIOD-rest-api\src\database\model\named_relation.py", line 16, in <module>
class NamedRelation(SQLModel):
...<19 lines>...
)
File "C:\Users\ASUS\AppData\Local\Python\pythoncore-3.14-64\Lib\site-packages\sqlmodel\main.py", line 536, in __new__
new_cls = super().__new__(cls, name, bases, dict_used, **config_kwargs)
File "pydantic/main.py", line 238, in pydantic.main.ModelMetaclass.__new__
File "pydantic/fields.py", line 504, in pydantic.fields.ModelField.infer
File "pydantic/fields.py", line 434, in pydantic.fields.ModelField.__init__
File "pydantic/fields.py", line 544, in pydantic.fields.ModelField.prepare
File "pydantic/fields.py", line 576, in pydantic.fields.ModelField._set_default_and_type
pydantic.errors.ConfigError: unable to infer type for attribute "identifier"Note
Python 3.11 is mentioned in the pytest workflows .github\workflows\pytest-tests.yml:
python-version: ["3.11"]
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels