deltacat 1.1.3__py3-none-any.whl → 1.1.5__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.
- deltacat/__init__.py +1 -1
- deltacat/aws/constants.py +0 -4
- deltacat/aws/s3u.py +26 -5
- deltacat/compute/compactor/utils/round_completion_file.py +3 -0
- deltacat/compute/compactor_v2/compaction_session.py +26 -5
- deltacat/compute/compactor_v2/constants.py +0 -3
- deltacat/compute/compactor_v2/utils/merge.py +0 -3
- deltacat/compute/compactor_v2/utils/task_options.py +4 -0
- deltacat/logs.py +126 -69
- deltacat/tests/aws/test_s3u.py +12 -0
- deltacat/tests/compute/compact_partition_rebase_then_incremental_test_cases.py +30 -0
- deltacat/tests/compute/compact_partition_test_cases.py +62 -1
- deltacat/tests/compute/test_compact_partition_incremental.py +34 -9
- deltacat/tests/compute/test_compact_partition_rebase_then_incremental.py +6 -1
- deltacat/tests/compute/test_util_common.py +4 -4
- deltacat/tests/compute/test_util_create_table_deltas_repo.py +18 -7
- deltacat/tests/test_logs.py +127 -0
- deltacat/tests/utils/test_placement.py +25 -0
- deltacat/utils/daft.py +2 -0
- deltacat/utils/placement.py +14 -7
- {deltacat-1.1.3.dist-info → deltacat-1.1.5.dist-info}/METADATA +2 -2
- {deltacat-1.1.3.dist-info → deltacat-1.1.5.dist-info}/RECORD +25 -22
- {deltacat-1.1.3.dist-info → deltacat-1.1.5.dist-info}/LICENSE +0 -0
- {deltacat-1.1.3.dist-info → deltacat-1.1.5.dist-info}/WHEEL +0 -0
- {deltacat-1.1.3.dist-info → deltacat-1.1.5.dist-info}/top_level.txt +0 -0
@@ -84,6 +84,7 @@ def create_src_w_deltas_destination_plus_destination(
|
|
84
84
|
input_delta_type: DeltaType,
|
85
85
|
partition_values: Optional[List[Any]],
|
86
86
|
ds_mock_kwargs: Optional[Dict[str, Any]],
|
87
|
+
simulate_is_inplace: bool = False,
|
87
88
|
) -> Tuple[Stream, Stream, Optional[Stream]]:
|
88
89
|
import deltacat.tests.local_deltacat_storage as ds
|
89
90
|
|
@@ -113,13 +114,23 @@ def create_src_w_deltas_destination_plus_destination(
|
|
113
114
|
table_version=source_table_version,
|
114
115
|
**ds_mock_kwargs,
|
115
116
|
)
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
117
|
+
destination_table_namespace: Optional[str] = None
|
118
|
+
destination_table_name: Optional[str] = None
|
119
|
+
destination_table_version: Optional[str] = None
|
120
|
+
if not simulate_is_inplace:
|
121
|
+
(
|
122
|
+
destination_table_namespace,
|
123
|
+
destination_table_name,
|
124
|
+
destination_table_version,
|
125
|
+
) = create_destination_table(
|
126
|
+
primary_keys, sort_keys, partition_keys, ds_mock_kwargs
|
127
|
+
)
|
128
|
+
else:
|
129
|
+
# not creating a table as in-place
|
130
|
+
destination_table_namespace = source_namespace
|
131
|
+
destination_table_name = source_table_name
|
132
|
+
destination_table_version = source_table_version
|
133
|
+
|
123
134
|
destination_table_stream: Stream = ds.get_stream(
|
124
135
|
namespace=destination_table_namespace,
|
125
136
|
table_name=destination_table_name,
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import unittest
|
2
|
+
import json
|
3
|
+
import ray
|
4
|
+
from logging import LogRecord
|
5
|
+
from deltacat.logs import JsonFormatter
|
6
|
+
|
7
|
+
|
8
|
+
class TestJsonFormatter(unittest.TestCase):
|
9
|
+
def test_usesTime_sanity(self):
|
10
|
+
|
11
|
+
formatter = JsonFormatter()
|
12
|
+
|
13
|
+
self.assertFalse(formatter.usesTime())
|
14
|
+
|
15
|
+
def test_usesTime_success_case(self):
|
16
|
+
|
17
|
+
formatter = JsonFormatter(fmt_dict={"asctime": "asctime"})
|
18
|
+
|
19
|
+
self.assertTrue(formatter.usesTime())
|
20
|
+
|
21
|
+
def test_formatMessage_sanity(self):
|
22
|
+
|
23
|
+
formatter = JsonFormatter({"message": "msg"})
|
24
|
+
|
25
|
+
record = LogRecord(
|
26
|
+
level="INFO",
|
27
|
+
name="test",
|
28
|
+
pathname="test",
|
29
|
+
lineno=0,
|
30
|
+
message="test_message",
|
31
|
+
msg="test_message",
|
32
|
+
args=None,
|
33
|
+
exc_info=None,
|
34
|
+
)
|
35
|
+
|
36
|
+
result = formatter.formatMessage(record)
|
37
|
+
|
38
|
+
self.assertEqual({"message": "test_message"}, result)
|
39
|
+
|
40
|
+
def test_format_sanity(self):
|
41
|
+
formatter = JsonFormatter({"message": "msg"})
|
42
|
+
|
43
|
+
record = LogRecord(
|
44
|
+
level="INFO",
|
45
|
+
name="test",
|
46
|
+
pathname="test",
|
47
|
+
lineno=0,
|
48
|
+
message="test_message",
|
49
|
+
msg="test_message",
|
50
|
+
args=None,
|
51
|
+
exc_info=None,
|
52
|
+
)
|
53
|
+
|
54
|
+
result = formatter.format(record)
|
55
|
+
|
56
|
+
self.assertEqual({"message": "test_message"}, json.loads(result))
|
57
|
+
self.assertFalse(ray.is_initialized())
|
58
|
+
self.assertNotIn("ray_runtime_context", json.loads(result))
|
59
|
+
|
60
|
+
def test_format_when_ray_initialized(self):
|
61
|
+
ray.init(local_mode=True, ignore_reinit_error=True)
|
62
|
+
|
63
|
+
formatter = JsonFormatter({"message": "msg"})
|
64
|
+
|
65
|
+
record = LogRecord(
|
66
|
+
level="INFO",
|
67
|
+
name="test",
|
68
|
+
pathname="test",
|
69
|
+
lineno=0,
|
70
|
+
message="test_message",
|
71
|
+
msg="test_message",
|
72
|
+
args=None,
|
73
|
+
exc_info=None,
|
74
|
+
)
|
75
|
+
|
76
|
+
result = formatter.format(record)
|
77
|
+
result = json.loads(result)
|
78
|
+
|
79
|
+
self.assertEqual("test_message", result["message"])
|
80
|
+
self.assertTrue(ray.is_initialized())
|
81
|
+
self.assertIn("ray_runtime_context", result)
|
82
|
+
self.assertIn("job_id", result["ray_runtime_context"])
|
83
|
+
self.assertIn("node_id", result["ray_runtime_context"])
|
84
|
+
self.assertIn("worker_id", result["ray_runtime_context"])
|
85
|
+
self.assertNotIn(
|
86
|
+
"task_id",
|
87
|
+
result["ray_runtime_context"],
|
88
|
+
"We expect task ID not be present outside a remote task",
|
89
|
+
)
|
90
|
+
ray.shutdown()
|
91
|
+
|
92
|
+
def test_format_when_ray_initialized_in_task(self):
|
93
|
+
# worker mode is only true when local_mode is False
|
94
|
+
ray.init(local_mode=False, ignore_reinit_error=True)
|
95
|
+
|
96
|
+
@ray.remote
|
97
|
+
def ray_remote_task():
|
98
|
+
formatter = JsonFormatter({"message": "msg"})
|
99
|
+
|
100
|
+
record = LogRecord(
|
101
|
+
level="INFO",
|
102
|
+
name="test",
|
103
|
+
pathname="test",
|
104
|
+
lineno=0,
|
105
|
+
message="test_message",
|
106
|
+
msg="test_message",
|
107
|
+
args=None,
|
108
|
+
exc_info=None,
|
109
|
+
)
|
110
|
+
|
111
|
+
result = formatter.format(record)
|
112
|
+
result = json.loads(result)
|
113
|
+
return result
|
114
|
+
|
115
|
+
result = ray.get(ray_remote_task.remote())
|
116
|
+
self.assertEqual("test_message", result["message"])
|
117
|
+
self.assertTrue(ray.is_initialized())
|
118
|
+
self.assertIn("ray_runtime_context", result)
|
119
|
+
self.assertIn("job_id", result["ray_runtime_context"])
|
120
|
+
self.assertIn("node_id", result["ray_runtime_context"])
|
121
|
+
self.assertIn("worker_id", result["ray_runtime_context"])
|
122
|
+
self.assertIn(
|
123
|
+
"task_id",
|
124
|
+
result["ray_runtime_context"],
|
125
|
+
"We expect task ID to be present inside a remote task",
|
126
|
+
)
|
127
|
+
ray.shutdown()
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import unittest
|
2
|
+
import ray
|
3
|
+
from deltacat.utils.placement import (
|
4
|
+
PlacementGroupManager,
|
5
|
+
_get_available_resources_per_node,
|
6
|
+
)
|
7
|
+
|
8
|
+
|
9
|
+
class TestPlacementGroupManager(unittest.TestCase):
|
10
|
+
@classmethod
|
11
|
+
def setUpClass(cls):
|
12
|
+
super().setUpClass()
|
13
|
+
ray.init(local_mode=True, ignore_reinit_error=True)
|
14
|
+
|
15
|
+
def test_placement_group_manager_sanity(self):
|
16
|
+
|
17
|
+
pgm = PlacementGroupManager(1, 1, 1)
|
18
|
+
|
19
|
+
self.assertIsNotNone(pgm)
|
20
|
+
|
21
|
+
def test_ray_state_api_returns_correctly(self):
|
22
|
+
|
23
|
+
result = _get_available_resources_per_node()
|
24
|
+
|
25
|
+
self.assertIsNotNone(result)
|
deltacat/utils/daft.py
CHANGED
@@ -163,5 +163,7 @@ def _get_s3_io_config(s3_client_kwargs) -> IOConfig:
|
|
163
163
|
retry_mode="adaptive",
|
164
164
|
num_tries=BOTO_MAX_RETRIES,
|
165
165
|
max_connections=DAFT_MAX_S3_CONNECTIONS_PER_FILE,
|
166
|
+
connect_timeout_ms=5_000, # Timeout to connect to server
|
167
|
+
read_timeout_ms=10_000, # Timeout for first byte from server
|
166
168
|
)
|
167
169
|
)
|
deltacat/utils/placement.py
CHANGED
@@ -2,6 +2,7 @@ import logging
|
|
2
2
|
import re
|
3
3
|
import time
|
4
4
|
from dataclasses import dataclass
|
5
|
+
from packaging.version import Version
|
5
6
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
6
7
|
|
7
8
|
import ray
|
@@ -19,6 +20,16 @@ logger = logs.configure_deltacat_logger(logging.getLogger(__name__))
|
|
19
20
|
# Issue: https://github.com/ray-project/ray/issues/29959
|
20
21
|
|
21
22
|
|
23
|
+
def _get_available_resources_per_node():
|
24
|
+
# This API changed after this commit
|
25
|
+
# https://github.com/ray-project/ray/pull/43252
|
26
|
+
# TODO: Use this method from a durable State API once it's available
|
27
|
+
if Version(ray.__version__) >= Version("2.10.0"):
|
28
|
+
return ray._private.state.available_resources_per_node()
|
29
|
+
else:
|
30
|
+
return ray._private.state.state._available_resources_per_node()
|
31
|
+
|
32
|
+
|
22
33
|
@dataclass
|
23
34
|
class PlacementGroupConfig:
|
24
35
|
def __init__(self, opts, resource, node_ips):
|
@@ -90,9 +101,7 @@ class NodeGroupManager:
|
|
90
101
|
Returns:
|
91
102
|
group_res: a dict of resources, e.g., {'CPU':0,'memory':0,'object_store_memory':0}
|
92
103
|
"""
|
93
|
-
all_available_resources = (
|
94
|
-
ray._private.state.state._available_resources_per_node()
|
95
|
-
)
|
104
|
+
all_available_resources = _get_available_resources_per_node()
|
96
105
|
group_keys = [x[0] for x in self.init_groups]
|
97
106
|
group_res = {}
|
98
107
|
for k in group_keys:
|
@@ -127,9 +136,7 @@ class NodeGroupManager:
|
|
127
136
|
Returns:
|
128
137
|
group_res: dict of updated resource(cpu, memory, object store memory) for a given group
|
129
138
|
"""
|
130
|
-
all_available_resources = (
|
131
|
-
ray._private.state.state._available_resources_per_node()
|
132
|
-
)
|
139
|
+
all_available_resources = _get_available_resources_per_node()
|
133
140
|
group_res = {"CPU": 0, "memory": 0, "object_store_memory": 0, "node_id": []}
|
134
141
|
for v in all_available_resources.values():
|
135
142
|
keys = v.keys()
|
@@ -285,7 +292,7 @@ def _config(
|
|
285
292
|
for bd in bundles:
|
286
293
|
node_ids.append(bd["node_id"])
|
287
294
|
# query available resources given list of node id
|
288
|
-
all_nodes_available_res =
|
295
|
+
all_nodes_available_res = _get_available_resources_per_node()
|
289
296
|
pg_res = {"CPU": 0, "memory": 0, "object_store_memory": 0}
|
290
297
|
node_ips = []
|
291
298
|
for node_id in node_ids:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: deltacat
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.5
|
4
4
|
Summary: A scalable, fast, ACID-compliant Data Catalog powered by Ray.
|
5
5
|
Home-page: https://github.com/ray-project/deltacat
|
6
6
|
Author: Ray Team
|
@@ -27,7 +27,7 @@ Requires-Dist: tenacity ==8.1.0
|
|
27
27
|
Requires-Dist: typing-extensions ==4.4.0
|
28
28
|
Requires-Dist: pymemcache ==4.0.0
|
29
29
|
Requires-Dist: redis ==4.6.0
|
30
|
-
Requires-Dist: getdaft ==0.2.
|
30
|
+
Requires-Dist: getdaft ==0.2.23
|
31
31
|
Requires-Dist: schedule ==1.2.0
|
32
32
|
|
33
33
|
# DeltaCAT
|
@@ -1,11 +1,11 @@
|
|
1
|
-
deltacat/__init__.py,sha256=
|
1
|
+
deltacat/__init__.py,sha256=i3bpmX1O0ZJD9XFiuqF0RHURR1lLKvdTBzVOP90fKQA,1777
|
2
2
|
deltacat/constants.py,sha256=_6oRI-3yp5c8J1qKGQZrt89I9-ttT_gSSvVsJ0h8Duc,1939
|
3
3
|
deltacat/exceptions.py,sha256=xqZf8CwysNYP2d39pf27OnXGStPREgBgIM-e2Tts-TI,199
|
4
|
-
deltacat/logs.py,sha256=
|
4
|
+
deltacat/logs.py,sha256=6g16VkEFidbaMjgenAjggE1r2l664drMVhreRs8B1IQ,8438
|
5
5
|
deltacat/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
deltacat/aws/clients.py,sha256=VgddlV3AEjlBGIFmhhHxokYzwJ-lXnmHAeprVyADduI,6948
|
7
|
-
deltacat/aws/constants.py,sha256=
|
8
|
-
deltacat/aws/s3u.py,sha256=
|
7
|
+
deltacat/aws/constants.py,sha256=aAhOKeLVgtpekA3h9otHUrHqY2bLDWs2QlL7GrdI63g,352
|
8
|
+
deltacat/aws/s3u.py,sha256=lgoE6es6N4xfzwyydxmVspROP1hrNfanB6JqjyBoRb4,24859
|
9
9
|
deltacat/aws/redshift/__init__.py,sha256=7SvjG-dqox8zZUhFicTsUvpG5vXYDl_QQ3ohlHOgTKc,342
|
10
10
|
deltacat/aws/redshift/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
deltacat/aws/redshift/model/manifest.py,sha256=ThgpdwzaWz493Zz9e8HSWwuxEheA1nDuypM3pe4vozk,12987
|
@@ -46,12 +46,12 @@ deltacat/compute/compactor/steps/repartition.py,sha256=_ITw4yvvnNv3wwOYxprzlIz5J
|
|
46
46
|
deltacat/compute/compactor/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
47
47
|
deltacat/compute/compactor/utils/io.py,sha256=S-JZdjETP_tHblK4j860jLHyX9S6A87BPz3Rl0jGbRM,17303
|
48
48
|
deltacat/compute/compactor/utils/primary_key_index.py,sha256=ay2-7t4mP9I_l5gKkrv5h5_r8Icts8mBcbH7OJBknrY,2435
|
49
|
-
deltacat/compute/compactor/utils/round_completion_file.py,sha256
|
49
|
+
deltacat/compute/compactor/utils/round_completion_file.py,sha256=-j6ZzhJBDrJ6Vz6WKEC-yKcNElkKRfO6S0P2JdJDQD0,2345
|
50
50
|
deltacat/compute/compactor/utils/sort_key.py,sha256=oK6otg-CSsma6zlGPaKg-KNEvcZRG2NqBlCw1X3_FBc,2397
|
51
51
|
deltacat/compute/compactor/utils/system_columns.py,sha256=CNIgAGos0xAGEpdaQIH7KfbSRrGZgjRbItXMararqXQ,9399
|
52
52
|
deltacat/compute/compactor_v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
|
-
deltacat/compute/compactor_v2/compaction_session.py,sha256=
|
54
|
-
deltacat/compute/compactor_v2/constants.py,sha256=
|
53
|
+
deltacat/compute/compactor_v2/compaction_session.py,sha256=ovOTJUOtq6tIc7krya9IPtonI-_nHJL9NFl5D_R9i4Q,26087
|
54
|
+
deltacat/compute/compactor_v2/constants.py,sha256=jGLEK5uS7AcnoVjPGUDIO4ljDbBYZlqzQleKJRKvnZM,2118
|
55
55
|
deltacat/compute/compactor_v2/deletes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
56
|
deltacat/compute/compactor_v2/deletes/delete_file_envelope.py,sha256=AeuH9JRMwp6mvQf6P2cqL92hUEtResQq6qUTS0kIKac,3111
|
57
57
|
deltacat/compute/compactor_v2/deletes/delete_strategy.py,sha256=SMEJOxR-5r92kvKNqtu2w6HmwtmhljcZX1wcNEuS-4w,2833
|
@@ -72,9 +72,9 @@ deltacat/compute/compactor_v2/utils/content_type_params.py,sha256=rNKZisxGrLQOkw
|
|
72
72
|
deltacat/compute/compactor_v2/utils/dedupe.py,sha256=62tFCY2iRP7I3-45GCIYs6_SJsQl8C5lBEr8gbNfbsw,1932
|
73
73
|
deltacat/compute/compactor_v2/utils/delta.py,sha256=8hjkDeIIkSX-gAQ2utQSp2sZcO2tWZHMTxpFusZwBHw,3635
|
74
74
|
deltacat/compute/compactor_v2/utils/io.py,sha256=autXlE3uHICdCCuJoS7mfdeJbRRiz2_xlz-3izlccB4,5264
|
75
|
-
deltacat/compute/compactor_v2/utils/merge.py,sha256=
|
75
|
+
deltacat/compute/compactor_v2/utils/merge.py,sha256=hK4Y7acrtgfvWWTz-fAGznEg6qn6dBYu8blQUQVHhs0,5244
|
76
76
|
deltacat/compute/compactor_v2/utils/primary_key_index.py,sha256=MAscmL35WfwN7Is72aFlD_cGhxtZgjRwwR5kS9Yn2uU,11393
|
77
|
-
deltacat/compute/compactor_v2/utils/task_options.py,sha256=
|
77
|
+
deltacat/compute/compactor_v2/utils/task_options.py,sha256=WK-1-1gncUSZI9yxBEG1AokDZKTBBhisYcYGijlitHY,13857
|
78
78
|
deltacat/compute/merge_on_read/__init__.py,sha256=ckbgngmqPjYBYz_NySsR1vNTOb_hNpeL1sYkZKvBI9M,214
|
79
79
|
deltacat/compute/merge_on_read/daft.py,sha256=1oC38u5ig_aTrq7EzyWBo8Ui54rb6yERYMk-vEFbpxM,1400
|
80
80
|
deltacat/compute/merge_on_read/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -133,19 +133,21 @@ deltacat/storage/model/table.py,sha256=IOu1ZOrdRkVDB-FOxYMRvnNf5TukIDfbdHWTqHYN_
|
|
133
133
|
deltacat/storage/model/table_version.py,sha256=cOM9dN-YB_Hhi4h1CzFbldC5qRkm4C1rQ3rpKIZzCNs,7413
|
134
134
|
deltacat/storage/model/types.py,sha256=hj7MmjjVmKT-R9sMUulOWG-FByGZKKaYXNnOWW32mP0,1608
|
135
135
|
deltacat/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
136
|
+
deltacat/tests/test_logs.py,sha256=6BEMw8VApFg2msFwCAVosz8NWJYATtX5furHyz8UluM,3828
|
136
137
|
deltacat/tests/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
137
138
|
deltacat/tests/aws/test_clients.py,sha256=23GMWfz27WWBDXSqphG9mfputsyS7j3I5P_HRk4YoKE,3790
|
139
|
+
deltacat/tests/aws/test_s3u.py,sha256=QflXbR94o7WobGBm6jhQDK5lJJD2Pd9z2uvi4J7WEJg,437
|
138
140
|
deltacat/tests/catalog/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
139
141
|
deltacat/tests/catalog/test_default_catalog_impl.py,sha256=9srCU5yQ159oZ9_PoJ_mWMzVUW5bKV0mnmPJc5zKCQQ,3125
|
140
142
|
deltacat/tests/compute/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
|
-
deltacat/tests/compute/compact_partition_rebase_then_incremental_test_cases.py,sha256=
|
142
|
-
deltacat/tests/compute/compact_partition_test_cases.py,sha256=
|
143
|
-
deltacat/tests/compute/test_compact_partition_incremental.py,sha256=
|
143
|
+
deltacat/tests/compute/compact_partition_rebase_then_incremental_test_cases.py,sha256=ctJTmL7JKtEc-2UX8dTVPRct0wCKelGf90Jwd0lgE14,73645
|
144
|
+
deltacat/tests/compute/compact_partition_test_cases.py,sha256=uoNRy5oCHXhKktdZABryJ3n_smbimcKINxxNtFfjWsE,22651
|
145
|
+
deltacat/tests/compute/test_compact_partition_incremental.py,sha256=NLhGPOa7Y-ymw3_SlFhqI16MppYLUKc7y5ST9QXUbR8,11301
|
144
146
|
deltacat/tests/compute/test_compact_partition_params.py,sha256=Dm5eLyHo8oGMeO3XBbpj1rZqHtPZ1hAB7z2qvzc4Lxk,8497
|
145
|
-
deltacat/tests/compute/test_compact_partition_rebase_then_incremental.py,sha256=
|
146
|
-
deltacat/tests/compute/test_util_common.py,sha256=
|
147
|
+
deltacat/tests/compute/test_compact_partition_rebase_then_incremental.py,sha256=nIO2r4tjO0kMhKKEWs2cGALP9-2NiluIGnFCOFmws90,14364
|
148
|
+
deltacat/tests/compute/test_util_common.py,sha256=jGc862Rv1gf51HN_Dl9v5gvhj4bnwLidurz9Z8wWJZ0,6066
|
147
149
|
deltacat/tests/compute/test_util_constant.py,sha256=4o-W3E7r7jhFl1A3OFLLrdKnwcF46zx4lEIDY8ONJ3c,929
|
148
|
-
deltacat/tests/compute/test_util_create_table_deltas_repo.py,sha256=
|
150
|
+
deltacat/tests/compute/test_util_create_table_deltas_repo.py,sha256=4i4CrFTBK51uzCswUK7KZz7UjutD5r6ptBQJ0Kj3WvA,7613
|
149
151
|
deltacat/tests/compute/compactor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
150
152
|
deltacat/tests/compute/compactor/steps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
151
153
|
deltacat/tests/compute/compactor/steps/test_repartition.py,sha256=0uRguPEKeLSYs746Jv8io-HZMWdyXNcOMBu8GO2mA0M,9305
|
@@ -175,6 +177,7 @@ deltacat/tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
175
177
|
deltacat/tests/utils/test_cloudpickle.py,sha256=J0pnBY3-PxlUh6MamZAN1PuquKQPr2iyzjiJ7-Rcl0o,1506
|
176
178
|
deltacat/tests/utils/test_daft.py,sha256=Xal84zR42rXsWQI3lImdDYWOzewomKmhmiUQ59m67V0,6488
|
177
179
|
deltacat/tests/utils/test_metrics.py,sha256=Ym9nOz1EtB180pLmvugihj1sDTNDMb5opIjjr5Nmcls,16339
|
180
|
+
deltacat/tests/utils/test_placement.py,sha256=g61wVOMkHe4YJeR9Oxg_BOVQ6bhHHbC3IBYv8YhUu94,597
|
178
181
|
deltacat/tests/utils/test_pyarrow.py,sha256=eZAuYp9MUf8lmpIilH57JkURuNsTGZ3IAGC4Gm5hdrM,17307
|
179
182
|
deltacat/tests/utils/test_record_batch_tables.py,sha256=AkG1WyljQmjnl-AxhbFWyo5LnMIKRyLScfgC2B_ES-s,11321
|
180
183
|
deltacat/tests/utils/test_resources.py,sha256=HtpvDrfPZQNtGDXUlsIzc_yd7Vf1cDscZ3YbN0oTvO8,2560
|
@@ -187,12 +190,12 @@ deltacat/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
187
190
|
deltacat/utils/arguments.py,sha256=5y1Xz4HSAD8M8Jt83i6gOEKoYjy_fMQe1V43IhIE4hY,1191
|
188
191
|
deltacat/utils/cloudpickle.py,sha256=XE7YDmQe56ksfl3NdYZkzOAhbHSuhNcBZGOehQpgZr0,1187
|
189
192
|
deltacat/utils/common.py,sha256=RG_-enXNpLKaYrqyx1ne2lL10lxN9vK7F631oJP6SE8,1375
|
190
|
-
deltacat/utils/daft.py,sha256=
|
193
|
+
deltacat/utils/daft.py,sha256=LGxxUtra7CqxcuZ9TuudrNvuyj_mygQfCpnYL9UIdP4,5650
|
191
194
|
deltacat/utils/metrics.py,sha256=HYKyZSrtVLu8gXezg_TMNUKJp4h1WWI0VEzn0Xlzf-I,10778
|
192
195
|
deltacat/utils/numpy.py,sha256=ZiGREobTVT6IZXgPxkSUpLJFN2Hn8KEZcrqybLDXCIA,2027
|
193
196
|
deltacat/utils/pandas.py,sha256=GfwjYb8FUSEeoBdXZI1_NJkdjxPMbCCUhlyRfGbDkn8,9562
|
194
197
|
deltacat/utils/performance.py,sha256=7ZLaMkS1ehPSIhT5uOQVBHvjC70iKHzoFquFo-KL0PI,645
|
195
|
-
deltacat/utils/placement.py,sha256=
|
198
|
+
deltacat/utils/placement.py,sha256=Lj20fb-eq8rgMdm_M2MBMfDLwhDM1sS1nJj2DvIK56s,12060
|
196
199
|
deltacat/utils/pyarrow.py,sha256=gYcoRhQoBoAFo69WNijMobrLGta4VASg8VarWPiB34Y,28979
|
197
200
|
deltacat/utils/resources.py,sha256=Ax1OgLLbZI4oYpp4Ki27OLaST-7I-AJgZwU87FVfY8g,8253
|
198
201
|
deltacat/utils/s3fs.py,sha256=PmUJ5Fm1WmD-_zp_M6yd9VbXvIoJuBeK6ApOdJJApLE,662
|
@@ -203,8 +206,8 @@ deltacat/utils/ray_utils/concurrency.py,sha256=JDVwMiQWrmuSlyCWAoiq9ctoJ0XADEfDD
|
|
203
206
|
deltacat/utils/ray_utils/dataset.py,sha256=SIljK3UkSqQ6Ntit_iSiYt9yYjN_gGrCTX6_72XdQ3w,3244
|
204
207
|
deltacat/utils/ray_utils/performance.py,sha256=d7JFM7vTXHzkGx9qNQcZzUWajnqINvYRwaM088_FpsE,464
|
205
208
|
deltacat/utils/ray_utils/runtime.py,sha256=5eaBWTDm0IXVoc5Y6aacoVB-f0Mnv-K2ewyTSjHKHwM,5009
|
206
|
-
deltacat-1.1.
|
207
|
-
deltacat-1.1.
|
208
|
-
deltacat-1.1.
|
209
|
-
deltacat-1.1.
|
210
|
-
deltacat-1.1.
|
209
|
+
deltacat-1.1.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
210
|
+
deltacat-1.1.5.dist-info/METADATA,sha256=ZXriHPvPca0lz3LrEfynDq-u4dyxhGvhKaM3m9veiT0,1780
|
211
|
+
deltacat-1.1.5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
212
|
+
deltacat-1.1.5.dist-info/top_level.txt,sha256=RWdIcid4Bv2i2ozLVh-70kJpyB61xEKXod9XXGpiono,9
|
213
|
+
deltacat-1.1.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|