From 87ee505a80f59649abf3b9108135079875634f2e Mon Sep 17 00:00:00 2001 From: NotPeopling2day <32708219+NotPeopling2day@users.noreply.github.com> Date: Tue, 21 Nov 2023 18:52:56 +0100 Subject: [PATCH] chore: pydantic updates --- setup.py | 1 - src/ape/types/address.py | 7 ++++++- src/ape/utils/basemodel.py | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 463bdd7fa2..ed56236dfe 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,6 @@ "mdformat-gfm>=0.3.5", # Needed for formatting GitHub-flavored markdown "mdformat-frontmatter>=0.4.1", # Needed for frontmatters-style headers in issue templates "mdformat-pyproject>=0.0.1", # Allows configuring in pyproject.toml - "pydantic<2.0", # Needed for successful type check. TODO: Remove after full v2 support. ], "doc": [ "myst-parser>=1.0.0,<2", # Parse markdown docs diff --git a/src/ape/types/address.py b/src/ape/types/address.py index c5bdb46b53..5411923463 100644 --- a/src/ape/types/address.py +++ b/src/ape/types/address.py @@ -1,11 +1,16 @@ from importlib import import_module -from typing import Annotated, Any, Optional, Union +from typing import Any, Optional, Union from eth_pydantic_types import Address as _Address from eth_pydantic_types import HashBytes20, HashStr20 from eth_typing import ChecksumAddress from pydantic_core.core_schema import ValidationInfo +try: + from typing import Annotated # type: ignore +except ImportError: + from typing_extensions import Annotated # type: ignore + RawAddress = Union[str, int, HashStr20, HashBytes20] """ A raw data-type representation of an address. diff --git a/src/ape/utils/basemodel.py b/src/ape/utils/basemodel.py index 9489ac73d9..1e16b1eb3d 100644 --- a/src/ape/utils/basemodel.py +++ b/src/ape/utils/basemodel.py @@ -118,6 +118,8 @@ class ExtraModelAttributes(EthpmTypesBaseModel): A class for defining extra model attributes. """ + model_config = ConfigDict(arbitrary_types_allowed=True) + name: str """ The name of the attributes. This is important