dify icon indicating copy to clipboard operation
dify copied to clipboard

dep: mordernizing validation by bumping pydantic from 1.10 to 2.7

Open bowenliang123 opened this issue 9 months ago • 2 comments

Description

Key changes:

  • bump pydantic validation library from 1.x to 2.x

Migrations:

  • auto-fixes by using official bump-pydanctic codmod migration tool, referring
  • the model_config field in class EasyUIBasedAppGenerateEntity is renamed to model_conf, as model_config is reserved field name for pydantic2 , referring to https://github.com/pydantic/pydantic/pull/9004 https://docs.pydantic.dev/latest/migration/#code-transformation-tool
  • fixed the missing mode in @model_validator() used by vdb providers
  • de-enforced the code TemplateTransformer as the pydantic's BaseModel
  • use @field_validator in class ToolCall to auto-enforcing id filed in string type
  • set the event filed of AppQueueEvent and its subclass events in str type explicitly
  • set model_config = ConfigDict(protected_namespaces=()) in the classes using model_ prefix in field name

Type of Change

Please delete options that are not relevant.

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [ ] This change requires a documentation update, included: Dify Document
  • [x] Improvement, including but not limited to code refactoring, performance optimization, and UI/UX improvement
  • [x] Dependency upgrade

How Has This Been Tested?

  • [x] pass all the ci jobs

Suggested Checklist:

  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [x] My changes generate no new warnings
  • [x] I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
  • [ ] optional I have made corresponding changes to the documentation
  • [ ] optional I have added tests that prove my fix is effective or that my feature works
  • [ ] optional New and existing unit tests pass locally with my changes

bowenliang123 avatar May 22 '24 13:05 bowenliang123