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

Refactor dmod.core serialization and deserialization types #256

Merged
merged 54 commits into from
Jan 25, 2023

Conversation

aaraney
Copy link
Member

@aaraney aaraney commented Jan 25, 2023

See #239 for comments and discussion. This PR required resubmission due to a merge conflict.

Subtypes of this enum variant that are embedded in a pydantic model will be:
  - coerced into an enum instance using member name (case insensitive)
  - and expose member names (upper case) in model json schema.
This breaks with Serializable's convention to only exclude `None` value
fields.
The field_serializers Config option is a apping of field name to
callable that changes the default serialized form of a field (i.e.
to_dict, to_json, dict, json). This is often helpful when a field
requires a use case specific representation (i.e. datetime) or is not
JSON serializable. For example, if a field is a datetime type, this
feature enables changing how that datetime object is serialized (e.g.
ISO8601 with only seconds).

The main intent of this feature is to discourage subclasses from
overriding `dict` to implement use case specific serialization and
provide a pathway to achieve this.
@aaraney aaraney changed the base branch from master to pydantic-serializable January 25, 2023 22:07
@aaraney aaraney merged commit 489b787 into NOAA-OWP:pydantic-serializable Jan 25, 2023
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.

1 participant