Skip to content

Conversation

@nesitor
Copy link
Member

@nesitor nesitor commented Oct 31, 2024

No description provided.

@Antonyjin Antonyjin force-pushed the 108-upgrade-pydantic-version branch from 31a3370 to 934a66f Compare February 25, 2025 09:50
Antonyjin and others added 25 commits April 7, 2025 19:37
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.
Updating the version of Pydantic, and adding pydantic-core
Upgrading yamlfix because it is not compatible with pydantic2
Adding a type none to the concerned functions
- Removing @model_serializer on ItemType
- Updated __get_pydantic_core_schema__ signature for Pydantic v2
- Added __get_pydantic_json_schema__ for JSON Schema generation
- Annotated validate and __repr__ methods for better type safety
Using Annoted instead of ConstrainedId because is no longer available in
Pydantic2
- Can't use get() to access InstanceContent data, instead we directly access the
element by using .data for exemple
- root_validator is deprecated, use of model_validator instead
- Pydantic v2 changed how validation errors are structured
- `loc` can now be either `("content",)` or `("content", "__root__")`
- Updated test to handle both cases and prevent failures
- Now checks only the error message to avoid issues with prefix changes
Returning 'authorized_keys' inside InstantConstant class in the sdk, but there is no field
'authorized_keys' in the class

Adding this field
@nesitor nesitor force-pushed the 108-upgrade-pydantic-version branch from 83689ea to ad9c940 Compare April 7, 2025 17:37
@nesitor nesitor force-pushed the 108-upgrade-pydantic-version branch from a216377 to ae16330 Compare April 7, 2025 17:54
@nesitor nesitor requested a review from olethanh April 7, 2025 19:07
@nesitor nesitor merged commit f1064ad into main Apr 8, 2025
10 checks passed
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.

6 participants