snowpark-connect 0.21.0__py3-none-any.whl → 0.23.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of snowpark-connect might be problematic. Click here for more details.

Files changed (56) hide show
  1. snowflake/snowpark_connect/config.py +19 -14
  2. snowflake/snowpark_connect/error/error_utils.py +32 -0
  3. snowflake/snowpark_connect/error/exceptions.py +4 -0
  4. snowflake/snowpark_connect/expression/hybrid_column_map.py +192 -0
  5. snowflake/snowpark_connect/expression/literal.py +9 -12
  6. snowflake/snowpark_connect/expression/map_cast.py +20 -4
  7. snowflake/snowpark_connect/expression/map_expression.py +8 -1
  8. snowflake/snowpark_connect/expression/map_udf.py +4 -4
  9. snowflake/snowpark_connect/expression/map_unresolved_extract_value.py +32 -5
  10. snowflake/snowpark_connect/expression/map_unresolved_function.py +269 -134
  11. snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py +8 -8
  12. snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi +4 -2
  13. snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py +127 -21
  14. snowflake/snowpark_connect/relation/map_aggregate.py +154 -18
  15. snowflake/snowpark_connect/relation/map_column_ops.py +59 -8
  16. snowflake/snowpark_connect/relation/map_extension.py +58 -24
  17. snowflake/snowpark_connect/relation/map_local_relation.py +8 -1
  18. snowflake/snowpark_connect/relation/map_map_partitions.py +3 -1
  19. snowflake/snowpark_connect/relation/map_row_ops.py +30 -1
  20. snowflake/snowpark_connect/relation/map_sql.py +40 -196
  21. snowflake/snowpark_connect/relation/map_udtf.py +4 -4
  22. snowflake/snowpark_connect/relation/read/map_read.py +2 -1
  23. snowflake/snowpark_connect/relation/read/map_read_json.py +12 -1
  24. snowflake/snowpark_connect/relation/read/map_read_parquet.py +8 -1
  25. snowflake/snowpark_connect/relation/read/reader_config.py +10 -0
  26. snowflake/snowpark_connect/relation/read/utils.py +7 -6
  27. snowflake/snowpark_connect/relation/utils.py +170 -1
  28. snowflake/snowpark_connect/relation/write/map_write.py +306 -87
  29. snowflake/snowpark_connect/server.py +34 -5
  30. snowflake/snowpark_connect/type_mapping.py +6 -2
  31. snowflake/snowpark_connect/utils/describe_query_cache.py +2 -9
  32. snowflake/snowpark_connect/utils/env_utils.py +55 -0
  33. snowflake/snowpark_connect/utils/session.py +21 -4
  34. snowflake/snowpark_connect/utils/telemetry.py +213 -61
  35. snowflake/snowpark_connect/utils/udxf_import_utils.py +14 -0
  36. snowflake/snowpark_connect/version.py +1 -1
  37. snowflake/snowpark_decoder/__init__.py +0 -0
  38. snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py +36 -0
  39. snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi +156 -0
  40. snowflake/snowpark_decoder/dp_session.py +111 -0
  41. snowflake/snowpark_decoder/spark_decoder.py +76 -0
  42. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/METADATA +2 -2
  43. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/RECORD +55 -44
  44. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/top_level.txt +1 -0
  45. spark/__init__.py +0 -0
  46. spark/connect/__init__.py +0 -0
  47. spark/connect/envelope_pb2.py +31 -0
  48. spark/connect/envelope_pb2.pyi +46 -0
  49. snowflake/snowpark_connect/includes/jars/jackson-mapper-asl-1.9.13.jar +0 -0
  50. {snowpark_connect-0.21.0.data → snowpark_connect-0.23.0.data}/scripts/snowpark-connect +0 -0
  51. {snowpark_connect-0.21.0.data → snowpark_connect-0.23.0.data}/scripts/snowpark-session +0 -0
  52. {snowpark_connect-0.21.0.data → snowpark_connect-0.23.0.data}/scripts/snowpark-submit +0 -0
  53. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/WHEEL +0 -0
  54. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/licenses/LICENSE-binary +0 -0
  55. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/licenses/LICENSE.txt +0 -0
  56. {snowpark_connect-0.21.0.dist-info → snowpark_connect-0.23.0.dist-info}/licenses/NOTICE-binary +0 -0
@@ -0,0 +1,156 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+
6
+ import builtins
7
+ import google.protobuf.any_pb2
8
+ import google.protobuf.descriptor
9
+ import google.protobuf.internal.enum_type_wrapper
10
+ import google.protobuf.message
11
+ import sys
12
+ import typing
13
+
14
+ if sys.version_info >= (3, 10):
15
+ import typing as typing_extensions
16
+ else:
17
+ import typing_extensions
18
+
19
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
20
+
21
+ class _DataframeType:
22
+ ValueType = typing.NewType("ValueType", builtins.int)
23
+ V: typing_extensions.TypeAlias = ValueType
24
+
25
+ class _DataframeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataframeType.ValueType], builtins.type):
26
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
27
+ UNDEFINED: _DataframeType.ValueType # 0
28
+ """The type is undefined"""
29
+ SNOWPARK_API: _DataframeType.ValueType # 1
30
+ """Snowpark API"""
31
+ SPARK_CONNECT: _DataframeType.ValueType # 2
32
+ """Spark connect API"""
33
+
34
+ class DataframeType(_DataframeType, metaclass=_DataframeTypeEnumTypeWrapper):
35
+ """The type of the dataframe"""
36
+
37
+ UNDEFINED: DataframeType.ValueType # 0
38
+ """The type is undefined"""
39
+ SNOWPARK_API: DataframeType.ValueType # 1
40
+ """Snowpark API"""
41
+ SPARK_CONNECT: DataframeType.ValueType # 2
42
+ """Spark connect API"""
43
+ global___DataframeType = DataframeType
44
+
45
+ @typing.final
46
+ class Request(google.protobuf.message.Message):
47
+ """The dataframe processor request"""
48
+
49
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
50
+
51
+ REQUEST_ID_FIELD_NUMBER: builtins.int
52
+ DATAFRAME_TYPE_FIELD_NUMBER: builtins.int
53
+ PAYLOAD_FIELD_NUMBER: builtins.int
54
+ request_id: builtins.str
55
+ dataframe_type: global___DataframeType.ValueType
56
+ @property
57
+ def payload(self) -> google.protobuf.any_pb2.Any:
58
+ """Type-specific payload.
59
+ SNOWPARK_API requests use the protobuf generated from //Snowpark/ast: ast.ir => `entity Request`.
60
+ SPARK_CONNECT requests use the public Spark Connect protocol.
61
+ ... future extensions, e.g., telemetry, metrics config.
62
+ """
63
+
64
+ def __init__(
65
+ self,
66
+ *,
67
+ request_id: builtins.str = ...,
68
+ dataframe_type: global___DataframeType.ValueType = ...,
69
+ payload: google.protobuf.any_pb2.Any | None = ...,
70
+ ) -> None: ...
71
+ def HasField(self, field_name: typing.Literal["payload", b"payload"]) -> builtins.bool: ...
72
+ def ClearField(self, field_name: typing.Literal["dataframe_type", b"dataframe_type", "payload", b"payload", "request_id", b"request_id"]) -> None: ...
73
+
74
+ global___Request = Request
75
+
76
+ @typing.final
77
+ class Response(google.protobuf.message.Message):
78
+ """Response of the dataframe processor request"""
79
+
80
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
81
+
82
+ class _StatusCode:
83
+ ValueType = typing.NewType("ValueType", builtins.int)
84
+ V: typing_extensions.TypeAlias = ValueType
85
+
86
+ class _StatusCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Response._StatusCode.ValueType], builtins.type):
87
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
88
+ OK: Response._StatusCode.ValueType # 0
89
+ INIT_ERROR: Response._StatusCode.ValueType # 1
90
+ """Failed to initialize"""
91
+ EXECUTION_ERROR: Response._StatusCode.ValueType # 2
92
+ """Failed to execute the request"""
93
+ SESSION_RESET_REQUIRED_ERROR: Response._StatusCode.ValueType # 3
94
+ """Session requires to retransmit the dependencies
95
+ ... other status codes
96
+ """
97
+
98
+ class StatusCode(_StatusCode, metaclass=_StatusCodeEnumTypeWrapper):
99
+ """The types of errors"""
100
+
101
+ OK: Response.StatusCode.ValueType # 0
102
+ INIT_ERROR: Response.StatusCode.ValueType # 1
103
+ """Failed to initialize"""
104
+ EXECUTION_ERROR: Response.StatusCode.ValueType # 2
105
+ """Failed to execute the request"""
106
+ SESSION_RESET_REQUIRED_ERROR: Response.StatusCode.ValueType # 3
107
+ """Session requires to retransmit the dependencies
108
+ ... other status codes
109
+ """
110
+
111
+ REQUEST_ID_FIELD_NUMBER: builtins.int
112
+ DATAFRAME_TYPE_FIELD_NUMBER: builtins.int
113
+ CODE_FIELD_NUMBER: builtins.int
114
+ RESULT_JOB_UUID_FIELD_NUMBER: builtins.int
115
+ PAYLOAD_FIELD_NUMBER: builtins.int
116
+ ERROR_MESSAGE_FIELD_NUMBER: builtins.int
117
+ request_id: builtins.str
118
+ """ID of the request with which this response is associated."""
119
+ dataframe_type: global___DataframeType.ValueType
120
+ """The type of the dataframe"""
121
+ code: global___Response.StatusCode.ValueType
122
+ result_job_uuid: builtins.str
123
+ """The UUID of the job containing the result of the request."""
124
+ error_message: builtins.str
125
+ """Dataframe processor internal use only. The external protocol status is in the payload."""
126
+ @property
127
+ def payload(self) -> google.protobuf.any_pb2.Any:
128
+ """The payload of the response for other types of responses."""
129
+
130
+ def __init__(
131
+ self,
132
+ *,
133
+ request_id: builtins.str = ...,
134
+ dataframe_type: global___DataframeType.ValueType = ...,
135
+ code: global___Response.StatusCode.ValueType = ...,
136
+ result_job_uuid: builtins.str = ...,
137
+ payload: google.protobuf.any_pb2.Any | None = ...,
138
+ error_message: builtins.str = ...,
139
+ ) -> None: ...
140
+ def HasField(self, field_name: typing.Literal["payload", b"payload", "result", b"result", "result_job_uuid", b"result_job_uuid"]) -> builtins.bool: ...
141
+ def ClearField(self, field_name: typing.Literal["code", b"code", "dataframe_type", b"dataframe_type", "error_message", b"error_message", "payload", b"payload", "request_id", b"request_id", "result", b"result", "result_job_uuid", b"result_job_uuid"]) -> None: ...
142
+ def WhichOneof(self, oneof_group: typing.Literal["result", b"result"]) -> typing.Literal["result_job_uuid", "payload"] | None: ...
143
+
144
+ global___Response = Response
145
+
146
+ @typing.final
147
+ class TruncatedSparkRelation(google.protobuf.message.Message):
148
+ """* Empty relation indicating that the real spark relation has been truncated *"""
149
+
150
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
151
+
152
+ def __init__(
153
+ self,
154
+ ) -> None: ...
155
+
156
+ global___TruncatedSparkRelation = TruncatedSparkRelation
@@ -0,0 +1,111 @@
1
+ import base64
2
+ import logging
3
+
4
+ import pyspark.sql.connect.proto.base_pb2 as spark_proto
5
+ from google.protobuf import message
6
+ from google.protobuf.any_pb2 import Any
7
+
8
+ import snowflake.snowpark
9
+ from snowflake.snowpark.context import get_active_session
10
+ from snowflake.snowpark_decoder._internal.proto.generated import (
11
+ DataframeProcessorMsg_pb2 as dp_proto,
12
+ )
13
+ from snowflake.snowpark_decoder.spark_decoder import SparkDecoder
14
+ from spark.connect.envelope_pb2 import ResponseEnvelope
15
+
16
+ logger = logging.getLogger(__name__)
17
+
18
+
19
+ def str2proto(b64_input: str, proto_output: message.Message) -> None:
20
+ decoded = base64.b64decode(b64_input)
21
+ proto_output.ParseFromString(decoded)
22
+
23
+
24
+ def proto2str(proto_input: message.Message) -> str:
25
+ return str(base64.b64encode(proto_input.SerializeToString()), "utf-8")
26
+
27
+
28
+ class DataframeProcessorSession:
29
+ """
30
+ The Dataframe Processor Session provides session context for dataframe requests, internally it
31
+ wraps the snowpark session object.
32
+ """
33
+
34
+ _instance = None # Class-level variable to store the instance
35
+
36
+ @classmethod
37
+ def get_instance(
38
+ cls,
39
+ dataframe_type: dp_proto.DataframeType,
40
+ session: snowflake.snowpark.Session = None,
41
+ ) -> "DataframeProcessorSession":
42
+ """Returns the singleton instance of the DataframeProcessorSession."""
43
+ if cls._instance is None:
44
+ if session is None:
45
+ session = get_active_session()
46
+ cls._instance = cls(session, dataframe_type)
47
+ return cls._instance
48
+
49
+ def __init__(
50
+ self,
51
+ session: snowflake.snowpark.Session,
52
+ dataframe_type: dp_proto.DataframeType,
53
+ ) -> None:
54
+ """
55
+ Initializes optional Snowpark session to connect to.
56
+ Args:
57
+ session: the Snowpark session to be used.
58
+ dataframe_type: the type of dataframe to be processed.
59
+ """
60
+ session.ast_enabled = False
61
+ self._session = session
62
+ self._dataframe_type = dataframe_type
63
+ if dataframe_type == dp_proto.SPARK_CONNECT:
64
+ self._decoder = SparkDecoder(self._session)
65
+ else:
66
+ raise RuntimeError(f"Invalid dataframe type: {type}")
67
+
68
+ def request(self, req_base64: str) -> str:
69
+ """
70
+ The only public method to generate response from a dataframe processor
71
+ request.
72
+
73
+ :param req_base64: the request string encoded by base64
74
+ :return: the response string encoded by base64
75
+ """
76
+ try:
77
+ dp_req_proto = dp_proto.Request()
78
+ str2proto(req_base64, dp_req_proto)
79
+ rid = dp_req_proto.request_id
80
+
81
+ any_msg = dp_req_proto.payload
82
+ if any_msg.Is(spark_proto.ConfigRequest.DESCRIPTOR):
83
+ request = spark_proto.ConfigRequest()
84
+ elif any_msg.Is(spark_proto.ExecutePlanRequest.DESCRIPTOR):
85
+ request = spark_proto.ExecutePlanRequest()
86
+ elif any_msg.Is(spark_proto.AnalyzePlanRequest.DESCRIPTOR):
87
+ request = spark_proto.AnalyzePlanRequest()
88
+ else:
89
+ raise NotImplementedError("Unknown request type")
90
+ dp_req_proto.payload.Unpack(request)
91
+ result = self._decoder.request(request)
92
+
93
+ assert isinstance(result, ResponseEnvelope)
94
+ code = (
95
+ dp_proto.Response.StatusCode.EXECUTION_ERROR
96
+ if result.WhichOneof("response_type") == "status"
97
+ else dp_proto.Response.StatusCode.OK
98
+ )
99
+
100
+ payload = Any()
101
+ payload.Pack(result)
102
+ dp_res_proto = dp_proto.Response(
103
+ code=code,
104
+ payload=payload,
105
+ dataframe_type=dp_req_proto.dataframe_type,
106
+ request_id=rid,
107
+ )
108
+ return proto2str(dp_res_proto)
109
+ except Exception:
110
+ # TODO: SNOW-1857056 error handling
111
+ raise
@@ -0,0 +1,76 @@
1
+ import os
2
+ from typing import Union
3
+
4
+ import pyspark.sql.connect.proto.base_pb2 as proto
5
+
6
+ import snowflake.snowpark_connect.tcm as tcm
7
+ from snowflake.snowpark import Session
8
+ from snowflake.snowpark_connect.error.error_utils import build_grpc_error_response
9
+ from snowflake.snowpark_connect.execute_plan.map_execution_root import QueryResult
10
+ from snowflake.snowpark_connect.server import SnowflakeConnectServicer, start_session
11
+ from spark.connect.envelope_pb2 import DataframeQueryResult, ResponseEnvelope
12
+
13
+
14
+ class SparkDecoder:
15
+ """
16
+ Spark Decoder is the main snowflake server entry point that accepts spark connect requests.
17
+ """
18
+
19
+ REQUEST_TYPES = [
20
+ proto.ExecutePlanRequest,
21
+ proto.ConfigRequest,
22
+ proto.AnalyzePlanRequest,
23
+ ]
24
+
25
+ def __init__(self, session: Session) -> None:
26
+ self.session = session
27
+ # set SPARK_LOCAL_HOSTNAME to avoid network lookup in sandbox
28
+ os.environ["SPARK_LOCAL_HOSTNAME"] = "127.0.0.1"
29
+ tcm.TCM_MODE = True
30
+ start_session(is_daemon=False, snowpark_session=self.session)
31
+ self.servicer = SnowflakeConnectServicer()
32
+
33
+ def request(
34
+ self,
35
+ request: Union[
36
+ proto.ExecutePlanRequest, proto.AnalyzePlanRequest, proto.ConfigRequest
37
+ ],
38
+ ) -> ResponseEnvelope:
39
+ try:
40
+ ctx = Context()
41
+ match request:
42
+ case proto.ExecutePlanRequest():
43
+ res = self.servicer.ExecutePlan(request, ctx)
44
+ result = next(res)
45
+ if isinstance(result, QueryResult):
46
+ return ResponseEnvelope(
47
+ dataframe_query_result=DataframeQueryResult(
48
+ result_job_uuid=result.query_id,
49
+ arrow_schema=result.arrow_schema,
50
+ spark_schema=result.spark_schema,
51
+ )
52
+ )
53
+ else:
54
+ return ResponseEnvelope(execute_plan_response=result)
55
+ case proto.AnalyzePlanRequest():
56
+ return ResponseEnvelope(
57
+ analyze_plan_response=self.servicer.AnalyzePlan(request, ctx)
58
+ )
59
+ case proto.ConfigRequest():
60
+ return ResponseEnvelope(
61
+ config_response=self.servicer.Config(request, ctx)
62
+ )
63
+ case _:
64
+ raise NotImplementedError(
65
+ "Unknown request type: %s" % type(request)
66
+ )
67
+ except Exception as e:
68
+ return ResponseEnvelope(status=build_grpc_error_response(e))
69
+
70
+
71
+ class Context:
72
+ def __init__(self) -> None:
73
+ pass
74
+
75
+ def abort_with_status(self, status):
76
+ raise NotImplementedError("abort_with_status is not implemented")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowpark-connect
3
- Version: 0.21.0
3
+ Version: 0.23.0
4
4
  Summary: Snowpark Connect for Spark
5
5
  Author: Snowflake, Inc
6
6
  License: Apache License, Version 2.0
@@ -16,7 +16,7 @@ Requires-Dist: jpype1
16
16
  Requires-Dist: protobuf<5.0,>=4.25.3
17
17
  Requires-Dist: s3fs>=2025.3.0
18
18
  Requires-Dist: snowflake.core<2,>=1.0.5
19
- Requires-Dist: snowflake-snowpark-python[pandas]!=1.35.0,>=1.34.0
19
+ Requires-Dist: snowflake-snowpark-python[pandas]<1.38.0,>=1.37.0
20
20
  Requires-Dist: sqlglot>=26.3.8
21
21
  Requires-Dist: jaydebeapi
22
22
  Requires-Dist: aiobotocore~=2.23.0
@@ -1,6 +1,6 @@
1
1
  snowflake/snowpark_connect/__init__.py,sha256=Sml4x1LTNnxZyw6nnDeJrZWUi3eUAR46Rsw6N-wHUSA,605
2
2
  snowflake/snowpark_connect/column_name_handler.py,sha256=69N4D1cwld9afBGEkLHxzoeawDhwYsyTQA8bmrIX8XM,26045
3
- snowflake/snowpark_connect/config.py,sha256=GBn_8ThBRtJonZw-4vfm3TTALoonAfewh2lR7FfP7K4,23747
3
+ snowflake/snowpark_connect/config.py,sha256=LrXX_FDREdCzTZd34jLIWi949cKMWslcikYVqpwAuQI,24035
4
4
  snowflake/snowpark_connect/constants.py,sha256=33qit4s6E2_OPIUNSPUOelfHHkQIPYtW1zjxe9hoY-M,1409
5
5
  snowflake/snowpark_connect/control_server.py,sha256=mz3huYo84hgqUB6maZxu3LYyGq7vVL1nv7-7-MjuSYY,1956
6
6
  snowflake/snowpark_connect/dataframe_container.py,sha256=reVGpNbKwmQc1CTjksypmxwKhBpenan_r1XxkMSXXFo,8152
@@ -8,32 +8,33 @@ snowflake/snowpark_connect/dataframe_name_handler.py,sha256=aR-CpdGsN2d6tNW0H_F9
8
8
  snowflake/snowpark_connect/date_time_format_mapping.py,sha256=qtQ-JTGR1VRWM2oxM1aYggE_g-BNouffeHxmCk89xkk,16809
9
9
  snowflake/snowpark_connect/empty_dataframe.py,sha256=aKO6JkYnArWCpLGcn9BzvTspw2k_c6eAM0mQImAY0J0,428
10
10
  snowflake/snowpark_connect/resources_initializer.py,sha256=fzo0Xjlvn-GToot2g9dSuNwUOcjUU3GD-55h1xqlRy8,2969
11
- snowflake/snowpark_connect/server.py,sha256=MyvKYRlgoe-_Gu8Ur2x6KmBLFfxuXYANFa9rT3sh4sg,49147
11
+ snowflake/snowpark_connect/server.py,sha256=SjGg752v5TTRphIw99qhvpkhpGtvqa74Vw3A45vbbzs,50149
12
12
  snowflake/snowpark_connect/start_server.py,sha256=udegO0rk2FeSnXsIcCIYQW3VRlGDjB_cU8lJ8xSzuM8,942
13
13
  snowflake/snowpark_connect/tcm.py,sha256=ftncZFbVO-uyWMhF1_HYKQykB7KobHEYoyQsYbQj1EM,203
14
- snowflake/snowpark_connect/type_mapping.py,sha256=R0xKsjNvXm6F5hUOlbgVSQkYBSNI8EbQmGVnuUmsiX4,41283
14
+ snowflake/snowpark_connect/type_mapping.py,sha256=B6Ud6xw3Qln6mF-bDvNEjulAmLdDwEMfPjb-AYuumaI,41472
15
15
  snowflake/snowpark_connect/typed_column.py,sha256=4rdODZqOGW60zVhmuhtljh9ijlHappRXhE5Mgr35CVs,3288
16
- snowflake/snowpark_connect/version.py,sha256=Gj5NKexj_sDZAYlRl4tACn5yXIH50gNZLnJGqMs2pu8,121
16
+ snowflake/snowpark_connect/version.py,sha256=VhWQyOfK2OrZYJzF-7Cj4R5N0xMEt5cIqxUtofGcGU8,121
17
17
  snowflake/snowpark_connect/analyze_plan/__init__.py,sha256=xsIE96jDASko3F-MeNf4T4Gg5ufthS8CejeiJDfri0M,76
18
18
  snowflake/snowpark_connect/analyze_plan/map_tree_string.py,sha256=Q3ZD-Z7uForrF7W3mSAjwaiEcIv2KDXr5jPfVbromVg,1470
19
19
  snowflake/snowpark_connect/error/__init__.py,sha256=oQo6k4zztLmNF1c5IvJLcS99J6RWY9KBTN3RJ2pKimg,249
20
20
  snowflake/snowpark_connect/error/error_mapping.py,sha256=vdnLOU1Sqpocpu_uCXjfhivutgD3yf60U4D31DJ31ng,195361
21
- snowflake/snowpark_connect/error/error_utils.py,sha256=8BJnWi2TgEJyTTVurVUVf5-8tZwf0WE1QbBpkZjoZko,13555
22
- snowflake/snowpark_connect/error/exceptions.py,sha256=7Kazwf_tJ5gBHEoIhRjw3d8UC_icHuZMIb3EFd6s-Io,617
21
+ snowflake/snowpark_connect/error/error_utils.py,sha256=Sb_p5dsrFZsLrR9B_Tp8d80Z6KcPtz9OM40lNbgsgRI,14863
22
+ snowflake/snowpark_connect/error/exceptions.py,sha256=EOnTDiJZuVJ9dNBzy5cK0OBprbYCD3gWTCCLITjd1mY,677
23
23
  snowflake/snowpark_connect/execute_plan/__init__.py,sha256=xsIE96jDASko3F-MeNf4T4Gg5ufthS8CejeiJDfri0M,76
24
24
  snowflake/snowpark_connect/execute_plan/map_execution_command.py,sha256=V25tke22PT92nCJVjDTjeaw0UxspYaOus-9BYb4gfX8,8150
25
25
  snowflake/snowpark_connect/execute_plan/map_execution_root.py,sha256=wFxeSxtuQY1OmI_BRLOzudrGwkJsmbBUOFQfsxxvRrU,7461
26
26
  snowflake/snowpark_connect/execute_plan/utils.py,sha256=OsjEd-WnQEX2oNVvlzGR6rpJVYyfxx1LACP09k1Y4lk,7830
27
27
  snowflake/snowpark_connect/expression/__init__.py,sha256=xsIE96jDASko3F-MeNf4T4Gg5ufthS8CejeiJDfri0M,76
28
- snowflake/snowpark_connect/expression/literal.py,sha256=isyRWC5DjCX6REUAtgSpMaN0SYxntITO-QHNXEaX8aw,4154
29
- snowflake/snowpark_connect/expression/map_cast.py,sha256=cqQ4jaZrjIl_Pviug76zMbkLP4ComuEOcEu9S_ivTFw,14286
30
- snowflake/snowpark_connect/expression/map_expression.py,sha256=bURxgMidLggf40Vg_GaQceJThhSgYiCfrGMsvcum8Qg,13435
28
+ snowflake/snowpark_connect/expression/hybrid_column_map.py,sha256=2jItaXnFnqcaOIiHKxscFLj7hi2zQE7F3xcher8Zo2U,7614
29
+ snowflake/snowpark_connect/expression/literal.py,sha256=ln1MUnCAvyvYXX73knM4jBtqTxrAHajSJK6alB91vuY,3711
30
+ snowflake/snowpark_connect/expression/map_cast.py,sha256=hUyHLRqRJrJsP8I4EInQW_kRh6lCc3vV7cWI4qi7jy8,14931
31
+ snowflake/snowpark_connect/expression/map_expression.py,sha256=Zq71pJrDZYM1mPJrxoC2AK7Mqun6RuZhIN-en9cndpA,13748
31
32
  snowflake/snowpark_connect/expression/map_extension.py,sha256=W_rTazMY6lpOpyVjzF96xev0iQGd8zudn02DZb3moCw,4613
32
33
  snowflake/snowpark_connect/expression/map_sql_expression.py,sha256=3ej7ff7fSpPaKzXbUo_7oNVAPhcx2j4JeVYywbjAJXc,24963
33
- snowflake/snowpark_connect/expression/map_udf.py,sha256=WHG-VJVclmUsAnU73AQ-aVYcsCDZC76WPNsOluYIG_E,5581
34
+ snowflake/snowpark_connect/expression/map_udf.py,sha256=GYDyO4_3VJXRtO2fIP5d1kHYuM2FGSY4oN-gHfx4xCc,5639
34
35
  snowflake/snowpark_connect/expression/map_unresolved_attribute.py,sha256=OcgBo8jC0uUfuv5GQiUOuJ4um4fkOUdZsaLpR6uwL40,10178
35
- snowflake/snowpark_connect/expression/map_unresolved_extract_value.py,sha256=QjPl1-FD8idSfNF1xmQREG5sI1OGg3Bwix3zvmLNq1E,3508
36
- snowflake/snowpark_connect/expression/map_unresolved_function.py,sha256=ymWrgPM92Rq8jM6dwQVdWJjArwmYWBb5rk1LP7NopbM,446053
36
+ snowflake/snowpark_connect/expression/map_unresolved_extract_value.py,sha256=PtXRFfSia5JspxVVZQynVf-6Kzt381I-yj6Wgny0EpM,4592
37
+ snowflake/snowpark_connect/expression/map_unresolved_function.py,sha256=50FYN1-xpYtF_x812wVYREY5Hx-RSTwyQ9m5TLIJv4I,452409
37
38
  snowflake/snowpark_connect/expression/map_unresolved_star.py,sha256=gecSxJ9flsn9chTXmYHP8nLzs_209xnVlyNwANDXRFg,8820
38
39
  snowflake/snowpark_connect/expression/map_update_fields.py,sha256=bMuZjCOE5wgrZv3ApsoiwEUv-lPgnMWUk-DFX11QuX0,6710
39
40
  snowflake/snowpark_connect/expression/map_window_function.py,sha256=apJxtWSnLogMG0F_En67JoGrGRGYQ0I8O0xPRk4TR_o,12152
@@ -62,7 +63,6 @@ snowflake/snowpark_connect/includes/jars/jackson-core-asl-1.9.13.jar,sha256=RAqc
62
63
  snowflake/snowpark_connect/includes/jars/jackson-databind-2.15.2.jar,sha256=DrL9rW5Aq4gyp4ybIvWBlt2XBZTo09Wibq2HhHxPOpY,1620088
63
64
  snowflake/snowpark_connect/includes/jars/jackson-dataformat-yaml-2.15.2.jar,sha256=N3lcwejLlLGNhg3Dq9Llk2F85AIUmuRaqJ7Yv7iByFE,54630
64
65
  snowflake/snowpark_connect/includes/jars/jackson-datatype-jsr310-2.15.2.jar,sha256=dXTIGtVwR272qtJvQZKI_UZnM_MxW-4wEvLynJ3ACMg,122937
65
- snowflake/snowpark_connect/includes/jars/jackson-mapper-asl-1.9.13.jar,sha256=dOegenby7breKTEqWi68z6AZEovAIezjhW12GX6b4MI,780664
66
66
  snowflake/snowpark_connect/includes/jars/jackson-module-scala_2.12-2.15.2.jar,sha256=gSWexnMPbUuF1VhsnqpudaaIWzS_ylcr4DEmqReXGf4,513968
67
67
  snowflake/snowpark_connect/includes/jars/json4s-ast_2.12-3.7.0-M11.jar,sha256=-TiMCtSpab8aGGfoXOJO2HyloQlTQrlrNcNW_ZcbVE0,89855
68
68
  snowflake/snowpark_connect/includes/jars/json4s-core_2.12-3.7.0-M11.jar,sha256=L9jmajcVVlKUxO210lFOf_WaFJYMf43YTPCZFmGkihA,526286
@@ -807,47 +807,47 @@ snowflake/snowpark_connect/proto/control_pb2_grpc.py,sha256=IPHf2f27M1HElF55HH-K
807
807
  snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.py,sha256=NSOT7lvgSbfN8iwxl1nmbJYSjoR3eGYEtYzlnrXtL88,3127
808
808
  snowflake/snowpark_connect/proto/snowflake_expression_ext_pb2.pyi,sha256=G6wa6Ei-LHgZH4mXG0vOAli5D5JIJQO8RQo8E_4ui4o,3831
809
809
  snowflake/snowpark_connect/proto/snowflake_rdd_pb2.pyi,sha256=IA_TC6cYM50qTlpSL0UwhmbNkNYgEYuNcZLYTxbGfBc,1780
810
- snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py,sha256=frZtEPyXWgq3g8-iq-dM0ZB1qWE04y1QswqyFmQCQtk,4805
811
- snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi,sha256=eskQnX2EcIEqjtcjX6XH9sIOgunDYJhO44V8ggEnzns,7100
810
+ snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.py,sha256=now6RWB80CV5Jko0DBLFMdXYXzvfX30uhHqHb-hKe2o,4886
811
+ snowflake/snowpark_connect/proto/snowflake_relation_ext_pb2.pyi,sha256=4PZkACNf5ulshE8yP2Sl36CXH4UBpIKvZPhzFqeEbsM,7302
812
812
  snowflake/snowpark_connect/relation/__init__.py,sha256=xsIE96jDASko3F-MeNf4T4Gg5ufthS8CejeiJDfri0M,76
813
813
  snowflake/snowpark_connect/relation/io_utils.py,sha256=bFW6lxjGnXiOW_OOqS7kPsuwjybVNpl8-Z9Xa6sQp20,1821
814
- snowflake/snowpark_connect/relation/map_aggregate.py,sha256=KtsZjksSG5kc1FGRlD10Zvlmg82ka8CGjpl-ClcVMeU,13043
814
+ snowflake/snowpark_connect/relation/map_aggregate.py,sha256=KElVYO62V3jkU8ldTCfTX2F_atP_GZAozPY1X0W42XQ,19189
815
815
  snowflake/snowpark_connect/relation/map_catalog.py,sha256=mcx6An4fqHAxy2OhOC66Xe_0aRtYPDGkBEgMK5CfaXU,5822
816
- snowflake/snowpark_connect/relation/map_column_ops.py,sha256=Cst5bs1-M5Qw3m5Z59kLSK-QvJ0wx0v8yEkeR-RAQjo,47494
816
+ snowflake/snowpark_connect/relation/map_column_ops.py,sha256=LTbUQpl9T5r_DmrdUchIoG0Lqq6kXuNJZee5bR6m9dI,49679
817
817
  snowflake/snowpark_connect/relation/map_crosstab.py,sha256=H_J8-IARK6zMEUFrOjKif1St6M20gvBAnP0EuArFHGg,2422
818
- snowflake/snowpark_connect/relation/map_extension.py,sha256=AcNqJDQGwMeXnAVCSLfMm9sy41y9BvWbXCiYhDvaDks,18422
818
+ snowflake/snowpark_connect/relation/map_extension.py,sha256=8fsLMKQqlekVgO2T0QZZwiwxcDzuVnPstQoDNadDeog,20071
819
819
  snowflake/snowpark_connect/relation/map_join.py,sha256=YGOy6nmpb0mqw8D3TzsV4bDlvaq6QFYPwfF5S6YgydU,15201
820
- snowflake/snowpark_connect/relation/map_local_relation.py,sha256=_UVWt6LhZWyNh0k0FBYCCsheb9PT-AkWkbT77-fxZBI,14871
821
- snowflake/snowpark_connect/relation/map_map_partitions.py,sha256=rT6mAhZaQ0rOBrTEHrMHhUXV2v18vSzRGezha9njE9s,5671
820
+ snowflake/snowpark_connect/relation/map_local_relation.py,sha256=VBfwBT75GQUe01UOZptwcYsI7zZxaIMQyTOG6kmVuJ0,15219
821
+ snowflake/snowpark_connect/relation/map_map_partitions.py,sha256=AMTz9S2PWjsCDM-Lz_MUTRQ-TUSesdNb-wFa7BUvmB8,5690
822
822
  snowflake/snowpark_connect/relation/map_relation.py,sha256=iH-VzP6-dwFlTOOYABiMM7xsgrYuQ8BV3UtvjS39w98,11646
823
- snowflake/snowpark_connect/relation/map_row_ops.py,sha256=m9ulYPfqPtlBtxXCUXMh5EMGPIGiOpat_JsfHszMKI0,30061
823
+ snowflake/snowpark_connect/relation/map_row_ops.py,sha256=OfOacY4-60PbUq413otwtot9reT_blNxJ5yjWsPPxRM,31229
824
824
  snowflake/snowpark_connect/relation/map_sample_by.py,sha256=8ALQbeUsB89sI3uiUFqG3w1A4TtOzOAL4umdKp6-c38,1530
825
825
  snowflake/snowpark_connect/relation/map_show_string.py,sha256=fuYCuThp7V3VPb5NETJvW0JDf9Xv2qCxdvBmlbHgF7c,3254
826
- snowflake/snowpark_connect/relation/map_sql.py,sha256=VcjIOikI96PzXmWvqxU2xDrQWGCju8JxfMHtNOqLGmM,86425
826
+ snowflake/snowpark_connect/relation/map_sql.py,sha256=XSc4EH5DwLcYihjzXS-jBC5a8saC7Z3bZkbkjZ2x2Kk,79156
827
827
  snowflake/snowpark_connect/relation/map_stats.py,sha256=kqRYvix8RfluTKx1cAy9JhBUv6arYQHgfxpP1R4QwBM,13985
828
828
  snowflake/snowpark_connect/relation/map_subquery_alias.py,sha256=rHgE9XUzuWWkjNPtJz3Sxzz2aFo690paHKZh9frqPXk,1456
829
- snowflake/snowpark_connect/relation/map_udtf.py,sha256=7mpIC6egpjebZ7p7-dg2tNjRg4SgZng4uL6PJs1s3iI,11220
829
+ snowflake/snowpark_connect/relation/map_udtf.py,sha256=MTRgYFo7qGMCthVqLFnugTMJ0E2nsrp0sMgtfff1U2E,11278
830
830
  snowflake/snowpark_connect/relation/stage_locator.py,sha256=c30Z4N_xFavaL5XhIl9sCbhrgn6BLhLbh2xXEaj-QmM,6885
831
- snowflake/snowpark_connect/relation/utils.py,sha256=7Gjhyw0djcF9a5kmi1pQHTdUpW5pKI94VaH7L3OvpU4,6956
831
+ snowflake/snowpark_connect/relation/utils.py,sha256=HSH8-oYt8_l433RHqNjScvWeF6HXvf5uQn7qXy7gkSk,12867
832
832
  snowflake/snowpark_connect/relation/catalogs/__init__.py,sha256=0yJ5Nfg7SIxudI0P7_U5EWPyiTpkMet8tSq-IwutSZo,265
833
833
  snowflake/snowpark_connect/relation/catalogs/abstract_spark_catalog.py,sha256=wujeuKotJZRzpPp_WqVB9TkfprFU2tIXTQJk_eFOR0o,9826
834
- snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py,sha256=2oB9jjlmVvg_1kC47VVn9-CXN9HpnxPPESmZatRYU-U,17853
834
+ snowflake/snowpark_connect/relation/catalogs/snowflake_catalog.py,sha256=bsE4XSYd0AjMTAQh8M6NIiOidlCylcQOaIFjGm0EkRw,21802
835
835
  snowflake/snowpark_connect/relation/catalogs/utils.py,sha256=AgiBkK9Xwm9ZyjsKZYK9eTb4YZ9C5dAimD9DLlft-tY,1753
836
836
  snowflake/snowpark_connect/relation/read/__init__.py,sha256=5J3IOTKu4Qmenouz1Oz_bUu_4c6KpxtaC63mPUGLyeY,132
837
837
  snowflake/snowpark_connect/relation/read/jdbc_read_dbapi.py,sha256=nwvBYwdDTRQc8ljt4CLLaVl5M2uei1TDICJkz7CDSG8,24608
838
- snowflake/snowpark_connect/relation/read/map_read.py,sha256=mIGHYcK0S1N2CeJ7xNIpAL0LjxByYmrqeSObyqNNze4,14884
838
+ snowflake/snowpark_connect/relation/read/map_read.py,sha256=mJDZHxrL2PTm4RPfQ-Az0jOcQdEubWZj_uONs0UOBhg,14949
839
839
  snowflake/snowpark_connect/relation/read/map_read_csv.py,sha256=aAhzWprNeSTnb_4FyBjQDmDUFu9H5p0CQP6sBQHUCQI,4934
840
840
  snowflake/snowpark_connect/relation/read/map_read_jdbc.py,sha256=9sUrrEGMLWUZ9hFIMD6S0N5Uoq-DkNFNuObah8bVlqU,3958
841
- snowflake/snowpark_connect/relation/read/map_read_json.py,sha256=xRjlmZjwDd8xRbNoCVZEctCHIIkCUlODUjP5bO9JhN0,11586
842
- snowflake/snowpark_connect/relation/read/map_read_parquet.py,sha256=jhn0edxGbdSLCfFiTW1VIrkezLiIo-ii3lDC7rtoY2E,6919
841
+ snowflake/snowpark_connect/relation/read/map_read_json.py,sha256=TZbpnAY3vO-gWDcx8xVoT0kDDTTgoGixhn0EMt6l2OQ,11974
842
+ snowflake/snowpark_connect/relation/read/map_read_parquet.py,sha256=VIUR5GWP6DBaYCDUsrDJzHQOM3y4hIbtWiCx0f4mczs,7168
843
843
  snowflake/snowpark_connect/relation/read/map_read_socket.py,sha256=yg7aO7jXMOyLQ9k3-abywNN2VAgvtvix2V8LsR_XQO4,2267
844
844
  snowflake/snowpark_connect/relation/read/map_read_table.py,sha256=6R2ywUQCM24dWubKco4clCn2HPbi5rPb74FsRIRmDzs,4611
845
845
  snowflake/snowpark_connect/relation/read/map_read_text.py,sha256=Vcm6EY3gyRPucdAXcXcu2mREcgq4N_4h3NDKNPhqsHY,3434
846
- snowflake/snowpark_connect/relation/read/reader_config.py,sha256=AM3hEFJbjrKExpaAz8a5tZYELOkEGpSuT-7EccfEvD4,15893
847
- snowflake/snowpark_connect/relation/read/utils.py,sha256=rIIM6d2WXHh7MLGyHNiRc9tS8b0dmyFQr7rHepIYJOU,4111
846
+ snowflake/snowpark_connect/relation/read/reader_config.py,sha256=IVcuUxOtrHIzVdFfg5_Fv5i_Ll951cmZf5tGJlKaMa0,16352
847
+ snowflake/snowpark_connect/relation/read/utils.py,sha256=aivVsgd0YCCNeDt3MbSzb42IjyzZwcocqzM5ehvSfzU,4234
848
848
  snowflake/snowpark_connect/relation/write/__init__.py,sha256=xsIE96jDASko3F-MeNf4T4Gg5ufthS8CejeiJDfri0M,76
849
849
  snowflake/snowpark_connect/relation/write/jdbc_write_dbapi.py,sha256=GI9FyGZuQQNV-6Q8Ob-Xr0im3iAPdH-Jkyx8bjwbOuE,11931
850
- snowflake/snowpark_connect/relation/write/map_write.py,sha256=e75dLEvi8nS2Q6rB0P_cM0DHkTcI7yHp6dJBWG_JaJs,22698
850
+ snowflake/snowpark_connect/relation/write/map_write.py,sha256=GfhdfKlazpSsPpO4JAOuTPoGIkMtOR2EoDCfnkcMBDM,34032
851
851
  snowflake/snowpark_connect/relation/write/map_write_jdbc.py,sha256=1nOWRgjtZzfRwnSRGFP9V6mqBVlGhSBr2KHGHbe4JMU,1404
852
852
  snowflake/snowpark_connect/resources/java_udfs-1.0-SNAPSHOT.jar,sha256=tVyOp6tXxu9nm6SDufwQiGzfH3pnuh_7PowsMZxOolY,9773
853
853
  snowflake/snowpark_connect/utils/__init__.py,sha256=xsIE96jDASko3F-MeNf4T4Gg5ufthS8CejeiJDfri0M,76
@@ -855,28 +855,39 @@ snowflake/snowpark_connect/utils/artifacts.py,sha256=KY-tF1Kyksg65CpivjvEDmOko9R
855
855
  snowflake/snowpark_connect/utils/cache.py,sha256=bAyoNBW6Z1ui9BuppDywbQeG6fdju4L-owFHzySOTnk,3382
856
856
  snowflake/snowpark_connect/utils/concurrent.py,sha256=cuPItxiDgqIeZ35881gd3VI1rwQTTu2ldsgw3ZcGqDk,3448
857
857
  snowflake/snowpark_connect/utils/context.py,sha256=UFo9TeQmBuJKPy_rk_F48JwPpiArw2A5TuWD0g3Fp2c,11871
858
- snowflake/snowpark_connect/utils/describe_query_cache.py,sha256=c9KkvCaH82YqCDsy-MqHnEu2PG1O_SDen1g8Yo1POq8,9250
858
+ snowflake/snowpark_connect/utils/describe_query_cache.py,sha256=2VcPgGP9bUpdIhnN2s_MOG8oGHKX0hS0rT7Y26MJb3A,9001
859
+ snowflake/snowpark_connect/utils/env_utils.py,sha256=g__Uio5ae20Tm1evahIHdJUXQYPmjNUT_kYPSIy5JDU,1488
859
860
  snowflake/snowpark_connect/utils/identifiers.py,sha256=YgtVIQGuUnnTiNdtRficdBwUICWaWkJltjOPnTnfrak,3881
860
861
  snowflake/snowpark_connect/utils/interrupt.py,sha256=_awhdrzF1KQO-EQThneEcfMg3Zxed4p3HtMpkcAb6ek,2790
861
862
  snowflake/snowpark_connect/utils/io_utils.py,sha256=noBlKpJvzEA6iwLjFgBVGlCLlzjZ16-w0fsGimTyBAQ,1039
862
863
  snowflake/snowpark_connect/utils/pandas_udtf_utils.py,sha256=QwdLGLg5bX0JJTrWKfL4Ou4MIp443cryEbrZNBrulNE,4207
863
864
  snowflake/snowpark_connect/utils/profiling.py,sha256=ttdHzQUYarvTqJASLNuKFIax7ejO39Tv1mHKl0QjRkg,1519
864
- snowflake/snowpark_connect/utils/session.py,sha256=xQsGocjhFPyP5Jlc1TqC_FAoK4N4JDD4EqnsKmb6-mg,6864
865
+ snowflake/snowpark_connect/utils/session.py,sha256=iVodOTUAE5tGOZN9JYt2cgsgFcvwqEAdApsSrvZyCYk,7633
865
866
  snowflake/snowpark_connect/utils/snowpark_connect_logging.py,sha256=23bvbALGqixJ3Ap9QWM3OpcKNK-sog2mr9liSmvwqYU,1123
866
- snowflake/snowpark_connect/utils/telemetry.py,sha256=NZVAoo0Oqrnya3yrgu2xubSESDfj5Euyo54UBaRDrQk,16774
867
+ snowflake/snowpark_connect/utils/telemetry.py,sha256=k41tvbOykIEpNfBYTrmqg0cRwiAQ3b7obhsEzU417aQ,21100
867
868
  snowflake/snowpark_connect/utils/udf_cache.py,sha256=8K7kASEhvpnp-l1hjzovjyboUzKctDq7PiGXRcNv6Lg,12125
868
869
  snowflake/snowpark_connect/utils/udf_helper.py,sha256=AC5SkUFy9I7-HYf8awuPX33eyWvGen84Vl7fAU0RXng,12513
869
870
  snowflake/snowpark_connect/utils/udf_utils.py,sha256=zWFc1G-3GjfDDKfzUX8sGBzEf2IMAMRs4NLSZ81Gz-8,13249
870
871
  snowflake/snowpark_connect/utils/udtf_helper.py,sha256=nTWbrFMc4hHLkalT4nJIsC_c00T6GFkB55JHOw1D-wg,14571
871
872
  snowflake/snowpark_connect/utils/udtf_utils.py,sha256=SZp6soES4TF-5FnfJPJTT6igAelo67KXUjWFtMpxFlI,33109
873
+ snowflake/snowpark_connect/utils/udxf_import_utils.py,sha256=pPtcaGsyh0tUdy0aAvNqTj04jqPKlEcGmvaZDP9O8Gc,536
872
874
  snowflake/snowpark_connect/utils/xxhash64.py,sha256=ysJRxhBPf25LeNhM1RK_H36MWl6q6C6vBRHa-jIna_A,7477
873
- snowpark_connect-0.21.0.data/scripts/snowpark-connect,sha256=yZ94KqbWACxnwV8mpg8NjILvvRNjnF8B3cs3ZFNuIM4,1546
874
- snowpark_connect-0.21.0.data/scripts/snowpark-session,sha256=NMAHSonTo-nmOZSkQNlszUC0jLJ8QWEDUsUmMe2UAOw,190
875
- snowpark_connect-0.21.0.data/scripts/snowpark-submit,sha256=Zd98H9W_d0dIqMSkQLdHyW5G3myxF0t4c3vNBt2nD6A,12056
876
- snowpark_connect-0.21.0.dist-info/licenses/LICENSE-binary,sha256=fmBlX39HwTlBUyiKEznaLZGuxQy-7ndLLG_rTXjF02Y,22916
877
- snowpark_connect-0.21.0.dist-info/licenses/LICENSE.txt,sha256=Ff9cPv4xu0z7bnMTHzo4vDncOShsy33w4oJMA2xjn6c,11365
878
- snowpark_connect-0.21.0.dist-info/licenses/NOTICE-binary,sha256=elMF8brgGNJwOz8YdorzBF6-U8ZhR8F-77FfGkZng7U,57843
879
- snowpark_connect-0.21.0.dist-info/METADATA,sha256=L7EFbOT5OP7bVUtrAb12U-Kyz6KJ2BbQ8QluQ8k4mRY,1595
880
- snowpark_connect-0.21.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
881
- snowpark_connect-0.21.0.dist-info/top_level.txt,sha256=TY0gFSHKDdZy3THb0FGomyikWQasEGldIR1O0HGOHVw,10
882
- snowpark_connect-0.21.0.dist-info/RECORD,,
875
+ snowflake/snowpark_decoder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
876
+ snowflake/snowpark_decoder/dp_session.py,sha256=HIr3TfKgYl5zqaGR5xpFU9ZVkcaTB9I8xCAzbv_-gY0,3923
877
+ snowflake/snowpark_decoder/spark_decoder.py,sha256=EQiCvBiqB736Bc17o3gnYGtcYVcyfGxroO5e1kbe1Co,2885
878
+ snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.py,sha256=2eSDqeyfMvmIJ6_rF663DrEe1dg_anrP4OpVJNTJHaQ,2598
879
+ snowflake/snowpark_decoder/_internal/proto/generated/DataframeProcessorMsg_pb2.pyi,sha256=aIH23k52bXdw5vO3RtM5UcOjDPaWsJFx1SRUSk3qOK8,6142
880
+ snowpark_connect-0.23.0.data/scripts/snowpark-connect,sha256=yZ94KqbWACxnwV8mpg8NjILvvRNjnF8B3cs3ZFNuIM4,1546
881
+ snowpark_connect-0.23.0.data/scripts/snowpark-session,sha256=NMAHSonTo-nmOZSkQNlszUC0jLJ8QWEDUsUmMe2UAOw,190
882
+ snowpark_connect-0.23.0.data/scripts/snowpark-submit,sha256=Zd98H9W_d0dIqMSkQLdHyW5G3myxF0t4c3vNBt2nD6A,12056
883
+ snowpark_connect-0.23.0.dist-info/licenses/LICENSE-binary,sha256=fmBlX39HwTlBUyiKEznaLZGuxQy-7ndLLG_rTXjF02Y,22916
884
+ snowpark_connect-0.23.0.dist-info/licenses/LICENSE.txt,sha256=Ff9cPv4xu0z7bnMTHzo4vDncOShsy33w4oJMA2xjn6c,11365
885
+ snowpark_connect-0.23.0.dist-info/licenses/NOTICE-binary,sha256=elMF8brgGNJwOz8YdorzBF6-U8ZhR8F-77FfGkZng7U,57843
886
+ spark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
887
+ spark/connect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
888
+ spark/connect/envelope_pb2.py,sha256=7Gc6OUA3vaCuTCIKamb_Iiw7W9jPTcWNEv1im20eWHM,2726
889
+ spark/connect/envelope_pb2.pyi,sha256=VXTJSPpcxzB_dWqVdvPY4KkPhJfh0WmkX7SNHWoLhx0,3358
890
+ snowpark_connect-0.23.0.dist-info/METADATA,sha256=VPecgYvvSXeZTZ0qwMUk7018ZxwSk0hbtT-ySGblrhA,1594
891
+ snowpark_connect-0.23.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
892
+ snowpark_connect-0.23.0.dist-info/top_level.txt,sha256=ExnWqVpoTHRG99fu_AxXZVOz8c-De7nNu0yFCGylM8I,16
893
+ snowpark_connect-0.23.0.dist-info/RECORD,,
spark/__init__.py ADDED
File without changes
File without changes
@@ -0,0 +1,31 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: envelope.proto
4
+ # Protobuf Python Version: 4.25.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from pyspark.sql.connect.proto import base_pb2 as spark_dot_connect_dot_base__pb2
16
+ from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
17
+
18
+
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x65nvelope.proto\x12\rspark.connect\x1a\x18spark/connect/base.proto\x1a\x17google/rpc/status.proto\"[\n\x14\x44\x61taframeQueryResult\x12\x17\n\x0fresult_job_uuid\x18\x01 \x01(\t\x12\x14\n\x0c\x61rrow_schema\x18\x02 \x01(\x0c\x12\x14\n\x0cspark_schema\x18\x03 \x01(\x0c\"\xb4\x05\n\x10ResponseEnvelope\x12\x43\n\x15\x65xecute_plan_response\x18\x01 \x01(\x0b\x32\".spark.connect.ExecutePlanResponseH\x00\x12\x43\n\x15\x61nalyze_plan_response\x18\x02 \x01(\x0b\x32\".spark.connect.AnalyzePlanResponseH\x00\x12\x38\n\x0f\x63onfig_response\x18\x03 \x01(\x0b\x32\x1d.spark.connect.ConfigResponseH\x00\x12\x45\n\x16\x61\x64\x64_artifacts_response\x18\x04 \x01(\x0b\x32#.spark.connect.AddArtifactsResponseH\x00\x12K\n\x18\x61rtifact_status_response\x18\x05 \x01(\x0b\x32\'.spark.connect.ArtifactStatusesResponseH\x00\x12>\n\x12interrupt_response\x18\x06 \x01(\x0b\x32 .spark.connect.InterruptResponseH\x00\x12I\n\x18release_execute_response\x18\x07 \x01(\x0b\x32%.spark.connect.ReleaseExecuteResponseH\x00\x12$\n\x06status\x18\x0b \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12\x45\n\x16\x64\x61taframe_query_result\x18\x0c \x01(\x0b\x32#.spark.connect.DataframeQueryResultH\x00\x12\x10\n\x08query_id\x18\x08 \x01(\t\x12\x12\n\nrequest_id\x18\t \x01(\t\x12\x19\n\x11result_partitions\x18\n \x03(\tB\x0f\n\rresponse_typeB9\n!com.snowflake.spark.connect.protoP\x01Z\x12internal/generatedb\x06proto3')
20
+
21
+ _globals = globals()
22
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
23
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'envelope_pb2', _globals)
24
+ if _descriptor._USE_C_DESCRIPTORS == False:
25
+ _globals['DESCRIPTOR']._options = None
26
+ _globals['DESCRIPTOR']._serialized_options = b'\n!com.snowflake.spark.connect.protoP\001Z\022internal/generated'
27
+ _globals['_DATAFRAMEQUERYRESULT']._serialized_start=84
28
+ _globals['_DATAFRAMEQUERYRESULT']._serialized_end=175
29
+ _globals['_RESPONSEENVELOPE']._serialized_start=178
30
+ _globals['_RESPONSEENVELOPE']._serialized_end=870
31
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,46 @@
1
+ from pyspark.sql.connect.proto import base_pb2 as _base_pb2
2
+ from google.rpc import status_pb2 as _status_pb2
3
+ from google.protobuf.internal import containers as _containers
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class DataframeQueryResult(_message.Message):
11
+ __slots__ = ("result_job_uuid", "arrow_schema", "spark_schema")
12
+ RESULT_JOB_UUID_FIELD_NUMBER: _ClassVar[int]
13
+ ARROW_SCHEMA_FIELD_NUMBER: _ClassVar[int]
14
+ SPARK_SCHEMA_FIELD_NUMBER: _ClassVar[int]
15
+ result_job_uuid: str
16
+ arrow_schema: bytes
17
+ spark_schema: bytes
18
+ def __init__(self, result_job_uuid: _Optional[str] = ..., arrow_schema: _Optional[bytes] = ..., spark_schema: _Optional[bytes] = ...) -> None: ...
19
+
20
+ class ResponseEnvelope(_message.Message):
21
+ __slots__ = ("execute_plan_response", "analyze_plan_response", "config_response", "add_artifacts_response", "artifact_status_response", "interrupt_response", "release_execute_response", "status", "dataframe_query_result", "query_id", "request_id", "result_partitions")
22
+ EXECUTE_PLAN_RESPONSE_FIELD_NUMBER: _ClassVar[int]
23
+ ANALYZE_PLAN_RESPONSE_FIELD_NUMBER: _ClassVar[int]
24
+ CONFIG_RESPONSE_FIELD_NUMBER: _ClassVar[int]
25
+ ADD_ARTIFACTS_RESPONSE_FIELD_NUMBER: _ClassVar[int]
26
+ ARTIFACT_STATUS_RESPONSE_FIELD_NUMBER: _ClassVar[int]
27
+ INTERRUPT_RESPONSE_FIELD_NUMBER: _ClassVar[int]
28
+ RELEASE_EXECUTE_RESPONSE_FIELD_NUMBER: _ClassVar[int]
29
+ STATUS_FIELD_NUMBER: _ClassVar[int]
30
+ DATAFRAME_QUERY_RESULT_FIELD_NUMBER: _ClassVar[int]
31
+ QUERY_ID_FIELD_NUMBER: _ClassVar[int]
32
+ REQUEST_ID_FIELD_NUMBER: _ClassVar[int]
33
+ RESULT_PARTITIONS_FIELD_NUMBER: _ClassVar[int]
34
+ execute_plan_response: _base_pb2.ExecutePlanResponse
35
+ analyze_plan_response: _base_pb2.AnalyzePlanResponse
36
+ config_response: _base_pb2.ConfigResponse
37
+ add_artifacts_response: _base_pb2.AddArtifactsResponse
38
+ artifact_status_response: _base_pb2.ArtifactStatusesResponse
39
+ interrupt_response: _base_pb2.InterruptResponse
40
+ release_execute_response: _base_pb2.ReleaseExecuteResponse
41
+ status: _status_pb2.Status
42
+ dataframe_query_result: DataframeQueryResult
43
+ query_id: str
44
+ request_id: str
45
+ result_partitions: _containers.RepeatedScalarFieldContainer[str]
46
+ def __init__(self, execute_plan_response: _Optional[_Union[_base_pb2.ExecutePlanResponse, _Mapping]] = ..., analyze_plan_response: _Optional[_Union[_base_pb2.AnalyzePlanResponse, _Mapping]] = ..., config_response: _Optional[_Union[_base_pb2.ConfigResponse, _Mapping]] = ..., add_artifacts_response: _Optional[_Union[_base_pb2.AddArtifactsResponse, _Mapping]] = ..., artifact_status_response: _Optional[_Union[_base_pb2.ArtifactStatusesResponse, _Mapping]] = ..., interrupt_response: _Optional[_Union[_base_pb2.InterruptResponse, _Mapping]] = ..., release_execute_response: _Optional[_Union[_base_pb2.ReleaseExecuteResponse, _Mapping]] = ..., status: _Optional[_Union[_status_pb2.Status, _Mapping]] = ..., dataframe_query_result: _Optional[_Union[DataframeQueryResult, _Mapping]] = ..., query_id: _Optional[str] = ..., request_id: _Optional[str] = ..., result_partitions: _Optional[_Iterable[str]] = ...) -> None: ...