llm_tutorial / .venv /lib /python3.11 /site-packages /ray /util /serialization_addons.py
koichi12's picture
Add files using upload-large-folder tool
cf6a8b4 verified
raw
history blame
1.09 kB
"""
This module is intended for implementing internal serializers for some
site packages.
"""
import sys
from ray.util.annotations import DeveloperAPI
@DeveloperAPI
def register_starlette_serializer(serialization_context):
try:
import starlette.datastructures
except ImportError:
return
# Starlette's app.state object is not serializable
# because it overrides __getattr__
serialization_context._register_cloudpickle_serializer(
starlette.datastructures.State,
custom_serializer=lambda s: s._state,
custom_deserializer=lambda s: starlette.datastructures.State(s),
)
@DeveloperAPI
def apply(serialization_context):
from ray._private.pydantic_compat import register_pydantic_serializers
register_pydantic_serializers(serialization_context)
register_starlette_serializer(serialization_context)
if sys.platform != "win32":
from ray._private.arrow_serialization import (
_register_custom_datasets_serializers,
)
_register_custom_datasets_serializers(serialization_context)