TLDR: uv run python -c 'import tinker' throws exception because of the issues in pydantic on python 3.14.
vors@mac: ~/src/tinker-test uv run python -c 'import tinker'
/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/tinker/_compat.py:48: UserWarning: Core Pydantic V1 functionality isn't compatible with Python 3.14 or greater.
from pydantic.v1.typing import (
Traceback (most recent call last):
File "<string>", line 1, in <module>
import tinker
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/tinker/__init__.py", line 3, in <module>
from . import types
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/tinker/types/__init__.py", line 3, in <module>
from .checkpoint import (
Checkpoint as Checkpoint,
)
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/tinker/types/checkpoint.py", line 4, in <module>
from .._models import BaseModel
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/tinker/_models.py", line 499, in <module>
class FinalRequestOptions(pydantic.BaseModel):
...<60 lines>...
model_construct = construct
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_model_construction.py", line 242, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_model_construction.py", line 566, in set_model_fields
fields, class_vars = collect_model_fields(cls, config_wrapper, ns_resolver, typevars_map=typevars_map)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_fields.py", line 256, in collect_model_fields
type_hints = _typing_extra.get_model_type_hints(cls, ns_resolver=ns_resolver)
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_typing_extra.py", line 350, in get_model_type_hints
hints[name] = try_eval_type(value, globalns, localns)
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_typing_extra.py", line 404, in try_eval_type
return eval_type_backport(value, globalns, localns), True
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_typing_extra.py", line 455, in eval_type_backport
return _eval_type_backport(value, globalns, localns, type_params)
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_typing_extra.py", line 492, in _eval_type_backport
return _eval_type(value, globalns, localns, type_params)
File "/Users/vors/src/tinker-test/.venv/lib/python3.14/site-packages/pydantic/_internal/_typing_extra.py", line 524, in _eval_type
evaluated = typing._eval_type( # type: ignore
value,
...<9 lines>...
prefer_fwd_module=True,
)
TypeError: _eval_type() got an unexpected keyword argument 'prefer_fwd_module'
Unable to evaluate type annotation 'str'.
uv pip freeze
annotated-types==0.7.0
anyio==4.11.0
certifi==2025.11.12
distro==1.9.0
filelock==3.20.0
fsspec==2025.10.0
h11==0.16.0
h2==4.3.0
hpack==4.1.0
httpcore==1.0.9
httpx==0.28.1
hyperframe==6.1.0
idna==3.11
jinja2==3.1.6
markupsafe==3.0.3
mpmath==1.3.0
networkx==3.5
numpy==2.3.4
pydantic==2.12.4
pydantic-core==2.41.5
setuptools==80.9.0
sniffio==1.3.1
sympy==1.14.0
tinker==0.3.0
torch==2.9.1
typing-extensions==4.15.0
typing-inspection==0.4.2