Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration to Pydantic V2 #115

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Migration to Pydantic V2 #115

wants to merge 13 commits into from

Conversation

nesitor
Copy link
Member

@nesitor nesitor commented Oct 31, 2024

No description provided.

Antonyjin and others added 13 commits October 16, 2024 14:56
Pydantic used to be in 1.10.5 now moving to up to v2 accepting from v2.x to the latest
Replaced `__get_pydantic_core_schema__` with a more efficient schema
handling using `core_schema.str_schema()` and custom validation for ItemHash.
- Updated code to explicitly specify optional keys where necessary.
- Replaced direct `.get` calls with `data.get()` to handle new validation logic.
- Migrated model configuration to use `model_config = ConfigDict(extra="forbid")`
or `model_config = ConfigDict(extra="allow")` in place of Pydantic v1's configuration style.
…eprecated methods.

- Replaced `.dict()` with `.model_dump()` for model serialization.
- Replaced deprecated `.json()` with `.model_dump_json()` for JSON serialization.

These changes ensure compatibility with Pydantic v2 by using the updated serialization methods.
…_content` function for stricter comparison.

- Replaced `.dict()` with `.model_dump()` for model serialization.
- Replaced deprecated `.json()` with `.model_dump_json()` for JSON serialization.
- Updated the `check_content` function to properly normalize and compare JSON structures,
as Pydantic v2 enforces stricter validation and comparison rules.

These changes ensure compatibility with Pydantic v2 by adopting
the new serialization methods and handling stricter content comparison logic.
- Refactored the normalize_content function to respect MyPy.
- Reformatted code according to Black.
- Fixed linting issues raised by Ruff.
Some fields were missing and needed to be specified
du to the v2 of pydantic.
Black test failed
Wrong indentation on one line, add comment for custom_dump
Refactoring normalize_content function from Hugo and added docstring
for better comprehension
Debuging using logger and not print
Function to convert size always return the instance needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants