mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-06 21:43:44 +00:00
community[patch]: Add linter to catch @root_validator (#24070)
- Add linter to prevent further usage of vanilla root validator - Udpate remaining root validators
This commit is contained in:
@@ -14,7 +14,7 @@ fi
|
||||
repository_path="$1"
|
||||
|
||||
# Search for lines matching the pattern within the specified repository
|
||||
result=$(git -C "$repository_path" grep -E '^import pydantic|^from pydantic')
|
||||
result=$(git -C "$repository_path" grep -En '^import pydantic|^from pydantic')
|
||||
|
||||
# Check if any matching lines were found
|
||||
if [ -n "$result" ]; then
|
||||
@@ -25,3 +25,20 @@ if [ -n "$result" ]; then
|
||||
echo "with 'from langchain_core.pydantic_v1 import BaseModel'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Forbid vanilla usage of @root_validator
|
||||
# This prevents the code from using either @root_validator or @root_validator()
|
||||
# Search for lines matching the pattern within the specified repository
|
||||
result=$(git -C "$repository_path" grep -En '(@root_validator\s*$)|(@root_validator\(\))' -- '*.py')
|
||||
|
||||
# Check if any matching lines were found
|
||||
if [ -n "$result" ]; then
|
||||
echo "ERROR: The following lines need to be updated:"
|
||||
echo
|
||||
echo "$result"
|
||||
echo
|
||||
echo "Please replace @root_validator or @root_validator() with either:"
|
||||
echo
|
||||
echo "@root_validator(pre=True) or @root_validator(pre=False, skip_on_failure=True)"
|
||||
exit 1
|
||||
fi
|
||||
|
Reference in New Issue
Block a user