# Cartesian GT4Py Eve Migration
###### tags: `archive`, `gt4py`
## Eve features
- `__pre_init__` is not useful for dtype propagation. Only useful for setting defaults which do not depend on inputs.
- Verified that `root_validators` are executed in reverse MRO order.
- We think dtype and kind propagation can be implemented as the first `root_validators` in the base class.
- Equivalent generic datamodels exist in eve, but are not used by the functional version. Need to be combined with Generic as with Pydantic.
## Migration path
We _think_ there is a simple path to migrate without changing the IRs. It should be copy-paste except for the root validators with pre=True.
1. Copy the functional `eve` version to `evening` in the Cartesian package.
2. Start migrating the IRs to use the new version.
3. Rename `evening` to `eve` and remove old version.
## Pre-commit errors
```
check for case conflicts.................................................Passed
check for merge conflicts................................................Passed
check toml...........................................(no files to check)Skipped
check yaml...........................................(no files to check)Skipped
debug statements (python)................................................Passed
Pretty format INI....................................(no files to check)Skipped
Pretty format TOML...................................(no files to check)Skipped
Pretty format YAML...................................(no files to check)Skipped
black....................................................................Passed
isort....................................................................Failed
- hook id: isort
- files were modified by this hook
Fixing /Users/johannd/gt4py/src/eve/datamodels/core.py
Fixing /Users/johannd/gt4py/src/eve/type_definitions.py
Fixing /Users/johannd/gt4py/src/eve/concepts.py
Fixing /Users/johannd/gt4py/src/eve/utils.py
Fixing /Users/johannd/gt4py/src/eve/extended_typing.py
Fixing /Users/johannd/gt4py/src/eve/type_validation.py
Fixing /Users/johannd/gt4py/src/eve/datamodels/__init__.py
flake8...................................................................Failed
- hook id: flake8
- exit code: 1
src/eve/type_definitions.py:25:1: F401 'enum.IntEnum' imported but unused
src/eve/utils.py:41:1: F401 'boltons.iterutils.flatten_iter' imported but unused
src/eve/utils.py:44:1: F401 'boltons.strutils.asciify' imported but unused
src/eve/utils.py:45:1: F401 'boltons.strutils.format_int_list' imported but unused
src/eve/utils.py:46:1: F401 'boltons.strutils.iter_splitlines' imported but unused
src/eve/utils.py:47:1: F401 'boltons.strutils.parse_int_list' imported but unused
src/eve/utils.py:48:1: F401 'boltons.strutils.slugify' imported but unused
src/eve/utils.py:49:1: F401 'boltons.strutils.unwrap_text' imported but unused
src/eve/extended_typing.py:30:1: F401 'frozendict as _frozendict' imported but unused
src/eve/extended_typing.py:44:5: F401 'collections.ChainMap' imported but unused
src/eve/extended_typing.py:44:5: F401 'collections.Counter' imported but unused
src/eve/extended_typing.py:44:5: F401 'collections.OrderedDict' imported but unused
src/eve/extended_typing.py:44:5: F401 'collections.defaultdict' imported but unused
src/eve/extended_typing.py:44:5: F401 'collections.deque' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.AsyncGenerator' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.AsyncIterable' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.AsyncIterator' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Awaitable' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.ByteString' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Collection' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Container' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Coroutine' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.ItemsView' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Iterable' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Iterator' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.KeysView' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Mapping' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.MappingView' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.MutableMapping' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.MutableSequence' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.MutableSet' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Reversible' imported but unused
src/eve/extended_typing.py:51:5: F401 'collections.abc.Sequence' imported but unused
src/eve/extended_typing.py:74:5: F401 'collections.abc.Set as AbstractSet' imported but unused
src/eve/extended_typing.py:75:5: F401 'collections.abc.ValuesView' imported but unused
src/eve/extended_typing.py:76:5: F401 'contextlib.AbstractAsyncContextManager as AsyncContextManager' imported but unused
src/eve/extended_typing.py:79:5: F401 'contextlib.AbstractContextManager as ContextManager' imported but unused
src/eve/extended_typing.py:80:5: F401 're.Match' imported but unused
src/eve/extended_typing.py:80:5: F401 're.Pattern' imported but unused
src/eve/extended_typing.py:85:31: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:120:6: F405 'TypeVar' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:123:31: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:128:28: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:135:28: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:141:18: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:141:24: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:142:24: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:144:22: F405 'Final' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:147:8: F405 'TYPE_CHECKING' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:148:26: F405 'TypeAlias' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:150:25: F405 'Final' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:151:26: F405 'Final' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:157:6: F405 'TypeVar' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:158:6: F405 'TypeVar' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:161:25: F405 'Protocol' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:167:6: F405 'overload' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:169:26: F405 'Literal' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:169:54: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:173:6: F405 'overload' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:175:43: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:180:26: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:180:53: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:185:49: F405 'Protocol' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:198:24: F405 'Protocol' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:208:36: F405 'SupportsBytes' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:219:31: F405 'Protocol' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:222:41: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:222:47: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:222:63: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:222:81: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:229:29: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:229:37: F405 'TypeGuard' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:238:29: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:238:37: F405 'TypeGuard' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:248:28: F405 'Generic' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:260:22: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:260:30: F405 'TypeGuard' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:260:40: F405 'Hashable' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:279:15: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:279:34: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:280:14: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:280:33: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:284:20: F405 'get_args' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:287:36: F405 'TypeVar' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:294:36: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:299:27: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:303:19: F405 'get_origin' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:304:17: F405 'get_args' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:306:23: F405 'Literal' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:309:23: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:327:10: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:338:15: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:338:34: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:339:14: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:339:33: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:341:16: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:341:28: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:351:16: F405 'get_type_hints' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:355:22: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:355:34: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:360:30: F405 'get_type_hints' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:366:31: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:367:36: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:378:10: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:378:21: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:379:15: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:379:34: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:380:14: F405 'Optional' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:380:33: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:394:13: F401 'typing.Dict' imported but unused
src/eve/extended_typing.py:394:13: F401 'typing.Tuple' imported but unused
src/eve/extended_typing.py:399:19: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:413:19: F405 'get_type_hints' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:414:40: F405 'ForwardRef' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:419:32: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:426:2: F405 'final' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:429:21: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:433:12: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:476:51: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:512:48: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:515:12: F405 'Union' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:517:67: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:522:46: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:523:50: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:528:27: F405 'get_type_hints' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:529:53: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:533:41: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:539:71: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:541:81: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:545:21: F405 'Any' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/extended_typing.py:547:26: F405 'Annotated' may be undefined, or defined from star imports: typing, typing_extensions
src/eve/datamodels/__init__.py:119:1: F401 '.validators' imported but unused
mypy.....................................................................Failed
- hook id: mypy
- exit code: 1
src/eve/extended_typing.py:131:9: error: Name '_types.GenericAlias' is not defined [name-defined]
src/eve/extended_typing.py:148:38: error: Module has no attribute "GenericAlias" [attr-defined]
src/eve/extended_typing.py:229:37: error: Variable "typing_extensions.TypeGuard" is not valid as a type [valid-type]
src/eve/extended_typing.py:229:37: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/extended_typing.py:234:62: error: Module has no attribute "GenericAlias" [attr-defined]
src/eve/extended_typing.py:238:37: error: Variable "typing_extensions.TypeGuard" is not valid as a type [valid-type]
src/eve/extended_typing.py:238:37: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/extended_typing.py:260:30: error: Variable "typing_extensions.TypeGuard" is not valid as a type [valid-type]
src/eve/extended_typing.py:260:30: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/extended_typing.py:285:84: error: Argument 1 to "_has_custom_hash" has incompatible type "Union[ForwardRef, Union[Type[Any], _SpecialForm, Any, Any]]"; expected "Type[Any]" [arg-type]
src/eve/extended_typing.py:322:27: error: Module has no attribute "_ProtocolMeta" [attr-defined]
src/eve/extended_typing.py:322:81: error: Module has no attribute "Protocol" [attr-defined]
src/eve/extended_typing.py:351:16: error: Unexpected keyword argument "include_extras" for "get_type_hints" [call-arg]
src/eve/extended_typing.py:360:30: error: Unexpected keyword argument "include_extras" for "get_type_hints" [call-arg]
src/eve/extended_typing.py:413:19: error: Unexpected keyword argument "include_extras" for "get_type_hints" [call-arg]
src/eve/type_definitions.py:101:9: error: Too many arguments for "__init_subclass__" of "object" [call-arg]
src/eve/pattern_matching.py:101:2: error: Name '_' already defined on line 86 [no-redef]
src/eve/pattern_matching.py:112:2: error: Name '_' already defined on line 86 [no-redef]
src/eve/utils.py:233:16: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/utils.py:239:11: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/utils.py:240:6: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/utils.py:245:20: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/utils.py:246:12: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/utils.py:271:26: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/utils.py:332:13: error: Too many arguments [call-arg]
src/eve/utils.py:597:9: error: No overload variant of "field" matches argument types "None", "bool" [call-overload]
src/eve/utils.py:597:9: note: Possible overload variants:
src/eve/utils.py:597:9: note: def [_T] field(*, default: _T, init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> _T
src/eve/utils.py:597:9: note: def [_T] field(*, default_factory: Callable[[], _T], init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> _T
src/eve/utils.py:597:9: note: def field(*, init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> Any
src/eve/utils.py:602:9: error: No overload variant of "field" matches argument types "None", "bool" [call-overload]
src/eve/utils.py:602:9: note: Possible overload variants:
src/eve/utils.py:602:9: note: def [_T] field(*, default: _T, init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> _T
src/eve/utils.py:602:9: note: def [_T] field(*, default_factory: Callable[[], _T], init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> _T
src/eve/utils.py:602:9: note: def field(*, init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> Any
src/eve/utils.py:607:9: error: No overload variant of "field" matches argument types "None", "bool" [call-overload]
src/eve/utils.py:607:9: note: Possible overload variants:
src/eve/utils.py:607:9: note: def [_T] field(*, default: _T, init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> _T
src/eve/utils.py:607:9: note: def [_T] field(*, default_factory: Callable[[], _T], init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> _T
src/eve/utils.py:607:9: note: def field(*, init: bool = ..., repr: bool = ..., hash: Optional[bool] = ..., compare: bool = ..., metadata: Optional[Mapping[str, Any]] = ...) -> Any
src/eve/utils.py:613:25: error: Argument "default_factory" to "field" has incompatible type "partial[Iterator[_N]]"; expected "Callable[[], Iterator[int]]" [arg-type]
src/eve/utils.py:613:25: note: "partial[Iterator[_N]].__call__" has type "Callable[[VarArg(Any), KwArg(Any)], Iterator[_N]]"
src/eve/utils.py:670:29: error: The first argument to Callable must be a list of types or "..." [misc]
src/eve/type_validation.py:215:23: error: Argument 2 to "isinstance" has incompatible type "Union[ForwardRef, Union[Type[Any], _SpecialForm, Any, Any]]"; expected "Union[type, Tuple[Union[type, Tuple[Any, ...]], ...]]" [arg-type]
src/eve/type_validation.py:221:59: error: Argument 2 to "make_is_instance_of" of "SimpleTypeValidatorFactory" has incompatible type "Union[ForwardRef, Union[Type[Any], _SpecialForm, Any, Any]]"; expected "type" [arg-type]
src/eve/datamodels/core.py:88:24: error: Incompatible types in assignment (expression has type "Type[Attribute[Any]]", variable has type "TypeAlias") [assignment]
src/eve/datamodels/core.py:95:58: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:95:58: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:96:31: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:96:31: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:99:31: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:99:31: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:172:5: error: Need type annotation for '_dataclass_opts' (hint: "_dataclass_opts: Dict[<type>, <type>] = ...") [var-annotated]
src/eve/datamodels/core.py:189:34: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:189:34: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:191:25: error: DataModel? has no attribute "__class__" [attr-defined]
src/eve/datamodels/core.py:209:35: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:209:35: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:433:28: error: Incompatible types in assignment (expression has type "Type[DataModelTP]", variable has type "TypeAlias") [assignment]
src/eve/datamodels/core.py:655:29: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:655:29: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:686:15: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:686:15: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:688:47: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:688:47: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:688:59: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:712:23: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:712:23: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:738:44: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:738:44: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:760:23: error: "Type[_DataModelT]" has no attribute "__datamodel_fields__" [attr-defined]
src/eve/datamodels/core.py:868:15: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:868:15: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:874:29: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:874:29: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:903:19: error: Variable "src.eve.datamodels.core.Attribute" is not valid as a type [valid-type]
src/eve/datamodels/core.py:903:19: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:928:55: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:928:55: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:932:39: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:932:39: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:934:34: error: DataModel? has no attribute "__datamodel_root_validators__" [attr-defined]
src/eve/datamodels/core.py:937:13: error: DataModel? has no attribute "__post_init__" [attr-defined]
src/eve/datamodels/core.py:941:39: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:941:39: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:943:34: error: "Type[DataModel?]" has no attribute "__datamodel_root_validators__" [attr-defined]
src/eve/datamodels/core.py:951:6: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:951:6: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:955:15: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/datamodels/core.py:955:15: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/datamodels/core.py:962:15: error: DataModel? has no attribute "__class__" [attr-defined]
src/eve/datamodels/core.py:964:21: error: DataModel? has no attribute "__datamodel_fields__" [attr-defined]
src/eve/datamodels/core.py:1000:73: error: Argument 2 to "isinstance" has incompatible type "Union[ForwardRef, Union[Type[Any], _SpecialForm, Any, Any]]"; expected "Union[type, Tuple[Union[type, Tuple[Any, ...]], ...]]" [arg-type]
src/eve/datamodels/core.py:1385:30: error: Incompatible types in assignment (expression has type "Type[DataModelTP]", variable has type "TypeAlias") [assignment]
src/eve/datamodels/core.py:1393:35: error: Incompatible types in assignment (expression has type "Type[GenericDataModelTP]", variable has type "TypeAlias") [assignment]
src/eve/concepts.py:184:12: error: Variable "src.eve.datamodels.core.DataModel" is not valid as a type [valid-type]
src/eve/concepts.py:184:12: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/concepts.py:184:12: error: Invalid base class "datamodels.DataModel" [misc]
src/eve/concepts.py:266:19: error: Variable "src.eve.datamodels.core.GenericDataModel" is not valid as a type [valid-type]
src/eve/concepts.py:266:19: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/concepts.py:266:19: error: Invalid base class "datamodels.GenericDataModel" [misc]
src/eve/concepts.py:270:13: error: Variable "src.eve.datamodels.core.FrozenModel" is not valid as a type [valid-type]
src/eve/concepts.py:270:13: note: See https://mypy.readthedocs.io/en/latest/common_issues.html#variables-vs-type-aliases
src/eve/concepts.py:270:13: error: Invalid base class "datamodels.FrozenModel" [misc]
src/eve/visitors.py:178:21: error: Name 'new_child' already defined on line 165 [no-redef]
src/eve/visitors.py:187:25: error: Name 'new_child' already defined on line 165 [no-redef]
Found 69 errors in 8 files (checked 16 source files)
```