From bb7a13e77751781f5359c700148e69f40c5a968e Mon Sep 17 00:00:00 2001 From: teleprint-me <77757836+teleprint-me@users.noreply.github.com> Date: Wed, 12 Jul 2023 18:13:54 -0400 Subject: [PATCH] fix: Resolve Python keyword conflict in Pydantic models - Renamed 'IN' attribute in TokenPatternString and TokenPatternNumber models to 'IS_IN' to avoid conflict with Python's 'in' keyword. - Updated the corresponding Field alias to 'is_in' from 'in'. - This fix prevents a TypeError upon the initialization of these models due to the improper use of a reserved Python keyword as an attribute. --- spacy/schemas.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spacy/schemas.py b/spacy/schemas.py index 22f45372c..4e7935ea5 100644 --- a/spacy/schemas.py +++ b/spacy/schemas.py @@ -179,7 +179,7 @@ def validate_token_pattern(obj: list) -> List[str]: class TokenPatternString(BaseModel): REGEX: Optional[Union[StrictStr, "TokenPatternString"]] = Field(None, alias="regex") - IN: Optional[List[StrictStr]] = Field(None, alias="in") + IS_IN: Optional[List[StrictStr]] = Field(None, alias="is_in") NOT_IN: Optional[List[StrictStr]] = Field(None, alias="not_in") IS_SUBSET: Optional[List[StrictStr]] = Field(None, alias="is_subset") IS_SUPERSET: Optional[List[StrictStr]] = Field(None, alias="is_superset") @@ -226,7 +226,7 @@ class TokenPatternString(BaseModel): class TokenPatternNumber(BaseModel): REGEX: Optional[StrictStr] = Field(None, alias="regex") - IN: Optional[List[StrictInt]] = Field(None, alias="in") + IS_IN: Optional[List[StrictInt]] = Field(None, alias="is_in") NOT_IN: Optional[List[StrictInt]] = Field(None, alias="not_in") IS_SUBSET: Optional[List[StrictInt]] = Field(None, alias="is_subset") IS_SUPERSET: Optional[List[StrictInt]] = Field(None, alias="is_superset")