chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
"""
|
||||
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._common.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)
|
||||
Reference in New Issue
Block a user