update pydantic 211

fix mypy violations

update

setting default value for RETRIEVAL_SERVICE_EXECUTORS to 1

fix default_factory with no-arg constructor to `lambda: str(uuid4())`

change to use default_factory for optional fields

nit

nit

pydantic-settings~=2.9.1

pydantic~=2.11.4
pull/15049/head
Bowen Liang 1 year ago
parent f23cf98317
commit f085bd9376

@ -74,7 +74,7 @@ class CodeExecutionSandboxConfig(BaseSettings):
CODE_EXECUTION_ENDPOINT: HttpUrl = Field( CODE_EXECUTION_ENDPOINT: HttpUrl = Field(
description="URL endpoint for the code execution service", description="URL endpoint for the code execution service",
default="http://sandbox:8194", default=HttpUrl("http://sandbox:8194"),
) )
CODE_EXECUTION_API_KEY: str = Field( CODE_EXECUTION_API_KEY: str = Field(
@ -145,7 +145,7 @@ class PluginConfig(BaseSettings):
PLUGIN_DAEMON_URL: HttpUrl = Field( PLUGIN_DAEMON_URL: HttpUrl = Field(
description="Plugin API URL", description="Plugin API URL",
default="http://localhost:5002", default=HttpUrl("http://localhost:5002"),
) )
PLUGIN_DAEMON_KEY: str = Field( PLUGIN_DAEMON_KEY: str = Field(
@ -188,7 +188,7 @@ class MarketplaceConfig(BaseSettings):
MARKETPLACE_API_URL: HttpUrl = Field( MARKETPLACE_API_URL: HttpUrl = Field(
description="Marketplace API URL", description="Marketplace API URL",
default="https://marketplace.dify.ai", default=HttpUrl("https://marketplace.dify.ai"),
) )

@ -173,7 +173,7 @@ class DatabaseConfig(BaseSettings):
RETRIEVAL_SERVICE_EXECUTORS: NonNegativeInt = Field( RETRIEVAL_SERVICE_EXECUTORS: NonNegativeInt = Field(
description="Number of processes for the retrieval service, default to CPU cores.", description="Number of processes for the retrieval service, default to CPU cores.",
default=os.cpu_count(), default=os.cpu_count() or 1,
) )
@computed_field @computed_field

@ -24,7 +24,7 @@ class EndpointProviderDeclaration(BaseModel):
""" """
settings: list[ProviderConfig] = Field(default_factory=list) settings: list[ProviderConfig] = Field(default_factory=list)
endpoints: Optional[list[EndpointDeclaration]] = Field(default_factory=list) endpoints: Optional[list[EndpointDeclaration]] = Field(default_factory=list[EndpointDeclaration])
class EndpointEntity(BasePluginEntity): class EndpointEntity(BasePluginEntity):

@ -52,7 +52,7 @@ class PluginResourceRequirements(BaseModel):
model: Optional[Model] = Field(default=None) model: Optional[Model] = Field(default=None)
node: Optional[Node] = Field(default=None) node: Optional[Node] = Field(default=None)
endpoint: Optional[Endpoint] = Field(default=None) endpoint: Optional[Endpoint] = Field(default=None)
storage: Storage = Field(default=None) storage: Optional[Storage] = Field(default=None)
permission: Optional[Permission] = Field(default=None) permission: Optional[Permission] = Field(default=None)
@ -66,9 +66,9 @@ class PluginCategory(enum.StrEnum):
class PluginDeclaration(BaseModel): class PluginDeclaration(BaseModel):
class Plugins(BaseModel): class Plugins(BaseModel):
tools: Optional[list[str]] = Field(default_factory=list) tools: Optional[list[str]] = Field(default_factory=list[str])
models: Optional[list[str]] = Field(default_factory=list) models: Optional[list[str]] = Field(default_factory=list[str])
endpoints: Optional[list[str]] = Field(default_factory=list) endpoints: Optional[list[str]] = Field(default_factory=list[str])
class Meta(BaseModel): class Meta(BaseModel):
minimum_dify_version: Optional[str] = Field(default=None, pattern=r"^\d{1,4}(\.\d{1,4}){1,3}(-\w{1,16})?$") minimum_dify_version: Optional[str] = Field(default=None, pattern=r"^\d{1,4}(\.\d{1,4}){1,3}(-\w{1,16})?$")

@ -55,8 +55,8 @@ class RequestInvokeLLM(BaseRequestInvokeModel):
mode: str mode: str
completion_params: dict[str, Any] = Field(default_factory=dict) completion_params: dict[str, Any] = Field(default_factory=dict)
prompt_messages: list[PromptMessage] = Field(default_factory=list) prompt_messages: list[PromptMessage] = Field(default_factory=list)
tools: Optional[list[PromptMessageTool]] = Field(default_factory=list) tools: Optional[list[PromptMessageTool]] = Field(default_factory=list[PromptMessageTool])
stop: Optional[list[str]] = Field(default_factory=list) stop: Optional[list[str]] = Field(default_factory=list[str])
stream: Optional[bool] = False stream: Optional[bool] = False
model_config = ConfigDict(protected_namespaces=()) model_config = ConfigDict(protected_namespaces=())

@ -30,7 +30,7 @@ class Variable(Segment):
""" """
id: str = Field( id: str = Field(
default=lambda _: str(uuid4()), default_factory=lambda: str(uuid4()),
description="Unique identity for variable.", description="Unique identity for variable.",
) )
name: str name: str

@ -36,7 +36,7 @@ class Graph(BaseModel):
root_node_id: str = Field(..., description="root node id of the graph") root_node_id: str = Field(..., description="root node id of the graph")
node_ids: list[str] = Field(default_factory=list, description="graph node ids") node_ids: list[str] = Field(default_factory=list, description="graph node ids")
node_id_config_mapping: dict[str, dict] = Field( node_id_config_mapping: dict[str, dict] = Field(
default_factory=list, description="node configs mapping (node id: node config)" default_factory=dict, description="node configs mapping (node id: node config)"
) )
edge_mapping: dict[str, list[GraphEdge]] = Field( edge_mapping: dict[str, list[GraphEdge]] = Field(
default_factory=dict, description="graph edge mapping (source node id: edges)" default_factory=dict, description="graph edge mapping (source node id: edges)"

@ -26,7 +26,7 @@ class LoopNodeData(BaseLoopNodeData):
loop_count: int # Maximum number of loops loop_count: int # Maximum number of loops
break_conditions: list[Condition] # Conditions to break the loop break_conditions: list[Condition] # Conditions to break the loop
logical_operator: Literal["and", "or"] logical_operator: Literal["and", "or"]
loop_variables: Optional[list[LoopVariableData]] = Field(default_factory=list) loop_variables: Optional[list[LoopVariableData]] = Field(default_factory=list[LoopVariableData])
outputs: Optional[Mapping[str, Any]] = None outputs: Optional[Mapping[str, Any]] = None

@ -39,7 +39,7 @@ class SubCondition(BaseModel):
class SubVariableCondition(BaseModel): class SubVariableCondition(BaseModel):
logical_operator: Literal["and", "or"] logical_operator: Literal["and", "or"]
conditions: list[SubCondition] = Field(default=list) conditions: list[SubCondition] = Field(default_factory=list)
class Condition(BaseModel): class Condition(BaseModel):

@ -63,9 +63,9 @@ dependencies = [
"psycogreen~=1.0.2", "psycogreen~=1.0.2",
"psycopg2-binary~=2.9.6", "psycopg2-binary~=2.9.6",
"pycryptodome==3.19.1", "pycryptodome==3.19.1",
"pydantic~=2.9.2", "pydantic~=2.11.4",
"pydantic-extra-types~=2.9.0", "pydantic-extra-types~=2.10.3",
"pydantic-settings~=2.6.0", "pydantic-settings~=2.9.1",
"pyjwt~=2.8.0", "pyjwt~=2.8.0",
"pypdfium2~=4.30.0", "pypdfium2~=4.30.0",
"python-docx~=1.1.0", "python-docx~=1.1.0",

Loading…
Cancel
Save