deltacat 0.1.18b5__tar.gz → 0.1.18b7__tar.gz

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.
Files changed (145) hide show
  1. {deltacat-0.1.18b5/deltacat.egg-info → deltacat-0.1.18b7}/PKG-INFO +1 -1
  2. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/__init__.py +1 -1
  3. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/compaction_session.py +30 -6
  4. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/utils/round_completion_file.py +11 -4
  5. {deltacat-0.1.18b5 → deltacat-0.1.18b7/deltacat.egg-info}/PKG-INFO +1 -1
  6. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/LICENSE +0 -0
  7. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/MANIFEST.in +0 -0
  8. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/README.md +0 -0
  9. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/__init__.py +0 -0
  10. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/clients.py +0 -0
  11. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/constants.py +0 -0
  12. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/redshift/__init__.py +0 -0
  13. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/redshift/model/__init__.py +0 -0
  14. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/redshift/model/manifest.py +0 -0
  15. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/aws/s3u.py +0 -0
  16. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/catalog/__init__.py +0 -0
  17. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/catalog/delegate.py +0 -0
  18. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/catalog/interface.py +0 -0
  19. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/catalog/model/__init__.py +0 -0
  20. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/catalog/model/catalog.py +0 -0
  21. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/catalog/model/table_definition.py +0 -0
  22. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/__init__.py +0 -0
  23. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/__init__.py +0 -0
  24. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/__init__.py +0 -0
  25. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/compact_partition_params.py +0 -0
  26. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/compaction_session_audit_info.py +0 -0
  27. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/dedupe_result.py +0 -0
  28. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/delta_annotated.py +0 -0
  29. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/delta_file_envelope.py +0 -0
  30. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/delta_file_locator.py +0 -0
  31. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/hash_bucket_result.py +0 -0
  32. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/materialize_result.py +0 -0
  33. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/primary_key_index.py +0 -0
  34. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/pyarrow_write_result.py +0 -0
  35. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/repartition_result.py +0 -0
  36. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/round_completion_info.py +0 -0
  37. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/model/sort_key.py +0 -0
  38. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/repartition_session.py +0 -0
  39. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/__init__.py +0 -0
  40. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/dedupe.py +0 -0
  41. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/hash_bucket.py +0 -0
  42. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/materialize.py +0 -0
  43. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/rehash/__init__.py +0 -0
  44. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/rehash/rehash_bucket.py +0 -0
  45. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/rehash/rewrite_index.py +0 -0
  46. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/steps/repartition.py +0 -0
  47. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/utils/__init__.py +0 -0
  48. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/utils/io.py +0 -0
  49. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/utils/primary_key_index.py +0 -0
  50. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/compactor/utils/system_columns.py +0 -0
  51. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/__init__.py +0 -0
  52. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/config/__init__.py +0 -0
  53. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/meta_stats.py +0 -0
  54. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/model/__init__.py +0 -0
  55. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/model/partition_stats_dict.py +0 -0
  56. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/model/stats_cluster_size_estimator.py +0 -0
  57. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/stats.py +0 -0
  58. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/utils/__init__.py +0 -0
  59. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/utils/constants.py +0 -0
  60. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/utils/io.py +0 -0
  61. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/utils/pyarrow_memory_estimation_function.py +0 -0
  62. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/metastats/utils/ray_utils.py +0 -0
  63. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/__init__.py +0 -0
  64. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/basic.py +0 -0
  65. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/models/__init__.py +0 -0
  66. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/models/delta_column_stats.py +0 -0
  67. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/models/delta_stats.py +0 -0
  68. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/models/delta_stats_cache_result.py +0 -0
  69. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/models/manifest_entry_stats.py +0 -0
  70. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/models/stats_result.py +0 -0
  71. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/types.py +0 -0
  72. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/utils/__init__.py +0 -0
  73. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/utils/intervals.py +0 -0
  74. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/utils/io.py +0 -0
  75. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/compute/stats/utils/manifest_stats_file.py +0 -0
  76. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/constants.py +0 -0
  77. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/exceptions.py +0 -0
  78. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/__init__.py +0 -0
  79. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/aws/__init__.py +0 -0
  80. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/aws/redshift/__init__.py +0 -0
  81. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/aws/redshift/redshift_datasource.py +0 -0
  82. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/dataset.py +0 -0
  83. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/file_object_store.py +0 -0
  84. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/memcached_object_store.py +0 -0
  85. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/object_store.py +0 -0
  86. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/ray_plasma_object_store.py +0 -0
  87. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/read_api.py +0 -0
  88. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/redis_object_store.py +0 -0
  89. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/io/s3_object_store.py +0 -0
  90. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/logs.py +0 -0
  91. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/__init__.py +0 -0
  92. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/interface.py +0 -0
  93. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/__init__.py +0 -0
  94. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/delta.py +0 -0
  95. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/list_result.py +0 -0
  96. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/locator.py +0 -0
  97. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/namespace.py +0 -0
  98. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/partition.py +0 -0
  99. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/stream.py +0 -0
  100. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/table.py +0 -0
  101. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/table_version.py +0 -0
  102. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/storage/model/types.py +0 -0
  103. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/__init__.py +0 -0
  104. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/compactor/__init__.py +0 -0
  105. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/compactor/test_compact_partition_params.py +0 -0
  106. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/compactor/utils/__init__.py +0 -0
  107. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/compactor/utils/test_io.py +0 -0
  108. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/io/__init__.py +0 -0
  109. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/io/test_file_object_store.py +0 -0
  110. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/io/test_memcached_object_store.py +0 -0
  111. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/io/test_ray_plasma_object_store.py +0 -0
  112. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/io/test_redis_object_store.py +0 -0
  113. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/io/test_s3_object_store.py +0 -0
  114. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/stats/__init__.py +0 -0
  115. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/stats/test_intervals.py +0 -0
  116. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/test_repartition.py +0 -0
  117. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/test_utils/__init__.py +0 -0
  118. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/test_utils/constants.py +0 -0
  119. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/utils/__init__.py +0 -0
  120. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/utils/test_record_batch_tables.py +0 -0
  121. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/tests/utils/test_resources.py +0 -0
  122. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/types/__init__.py +0 -0
  123. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/types/media.py +0 -0
  124. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/types/tables.py +0 -0
  125. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/__init__.py +0 -0
  126. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/common.py +0 -0
  127. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/metrics.py +0 -0
  128. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/numpy.py +0 -0
  129. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/pandas.py +0 -0
  130. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/performance.py +0 -0
  131. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/placement.py +0 -0
  132. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/pyarrow.py +0 -0
  133. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/ray_utils/__init__.py +0 -0
  134. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/ray_utils/collections.py +0 -0
  135. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/ray_utils/concurrency.py +0 -0
  136. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/ray_utils/dataset.py +0 -0
  137. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/ray_utils/performance.py +0 -0
  138. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/ray_utils/runtime.py +0 -0
  139. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat/utils/resources.py +0 -0
  140. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat.egg-info/SOURCES.txt +0 -0
  141. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat.egg-info/dependency_links.txt +0 -0
  142. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat.egg-info/requires.txt +0 -0
  143. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/deltacat.egg-info/top_level.txt +0 -0
  144. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/setup.cfg +0 -0
  145. {deltacat-0.1.18b5 → deltacat-0.1.18b7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deltacat
3
- Version: 0.1.18b5
3
+ Version: 0.1.18b7
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
@@ -43,7 +43,7 @@ from deltacat.types.tables import TableWriteMode
43
43
 
44
44
  deltacat.logs.configure_deltacat_logger(logging.getLogger(__name__))
45
45
 
46
- __version__ = "0.1.18b5"
46
+ __version__ = "0.1.18b7"
47
47
 
48
48
 
49
49
  __all__ = [
@@ -115,6 +115,7 @@ def compact_partition(
115
115
  read_kwargs_provider: Optional[ReadKwargsProvider] = None,
116
116
  s3_table_writer_kwargs: Optional[Dict[str, Any]] = None,
117
117
  object_store: Optional[IObjectStore] = RayPlasmaObjectStore(),
118
+ s3_client_kwargs: Optional[Dict[str, Any]] = None,
118
119
  deltacat_storage=unimplemented_deltacat_storage,
119
120
  **kwargs,
120
121
  ) -> Optional[str]:
@@ -155,6 +156,7 @@ def compact_partition(
155
156
  read_kwargs_provider,
156
157
  s3_table_writer_kwargs,
157
158
  object_store,
159
+ s3_client_kwargs,
158
160
  deltacat_storage,
159
161
  **kwargs,
160
162
  )
@@ -201,6 +203,7 @@ def _execute_compaction_round(
201
203
  read_kwargs_provider: Optional[ReadKwargsProvider],
202
204
  s3_table_writer_kwargs: Optional[Dict[str, Any]],
203
205
  object_store: Optional[IObjectStore],
206
+ s3_client_kwargs: Optional[Dict[str, Any]],
204
207
  deltacat_storage=unimplemented_deltacat_storage,
205
208
  **kwargs,
206
209
  ) -> Tuple[Optional[Partition], Optional[RoundCompletionInfo], Optional[str]]:
@@ -330,7 +333,11 @@ def _execute_compaction_round(
330
333
  delta_discovery_end - delta_discovery_start
331
334
  )
332
335
 
333
- s3_utils.upload(compaction_audit.audit_url, str(json.dumps(compaction_audit)))
336
+ s3_utils.upload(
337
+ compaction_audit.audit_url,
338
+ str(json.dumps(compaction_audit)),
339
+ **s3_client_kwargs,
340
+ )
334
341
 
335
342
  if not input_deltas:
336
343
  logger.info("No input deltas found to compact.")
@@ -424,7 +431,11 @@ def _execute_compaction_round(
424
431
  hb_end - hb_start,
425
432
  )
426
433
 
427
- s3_utils.upload(compaction_audit.audit_url, str(json.dumps(compaction_audit)))
434
+ s3_utils.upload(
435
+ compaction_audit.audit_url,
436
+ str(json.dumps(compaction_audit)),
437
+ **s3_client_kwargs,
438
+ )
428
439
 
429
440
  all_hash_group_idx_to_obj_id = defaultdict(list)
430
441
  for hb_result in hb_results:
@@ -466,11 +477,16 @@ def _execute_compaction_round(
466
477
  logger.info(f"Materialize Bucket Count: {num_materialize_buckets}")
467
478
 
468
479
  dedupe_start = time.monotonic()
469
-
480
+ dd_max_parallelism = int(
481
+ max_parallelism * kwargs.get("dd_max_parallelism_ratio", 1)
482
+ )
483
+ logger.info(
484
+ f"dd max_parallelism is set to {dd_max_parallelism}, max_parallelism is {max_parallelism}"
485
+ )
470
486
  dd_tasks_pending = invoke_parallel(
471
487
  items=all_hash_group_idx_to_obj_id.values(),
472
488
  ray_task=dd.dedupe,
473
- max_parallelism=max_parallelism,
489
+ max_parallelism=dd_max_parallelism,
474
490
  options_provider=round_robin_opt_provider,
475
491
  kwargs_provider=lambda index, item: {
476
492
  "dedupe_task_index": index,
@@ -534,7 +550,11 @@ def _execute_compaction_round(
534
550
  # parallel step 3:
535
551
  # materialize records to keep by index
536
552
 
537
- s3_utils.upload(compaction_audit.audit_url, str(json.dumps(compaction_audit)))
553
+ s3_utils.upload(
554
+ compaction_audit.audit_url,
555
+ str(json.dumps(compaction_audit)),
556
+ **s3_client_kwargs,
557
+ )
538
558
 
539
559
  materialize_start = time.monotonic()
540
560
 
@@ -636,7 +656,11 @@ def _execute_compaction_round(
636
656
  mat_results, telemetry_time_hb + telemetry_time_dd + telemetry_time_materialize
637
657
  )
638
658
 
639
- s3_utils.upload(compaction_audit.audit_url, str(json.dumps(compaction_audit)))
659
+ s3_utils.upload(
660
+ compaction_audit.audit_url,
661
+ str(json.dumps(compaction_audit)),
662
+ **s3_client_kwargs,
663
+ )
640
664
 
641
665
  new_round_completion_info = RoundCompletionInfo.of(
642
666
  last_stream_position_compacted,
@@ -1,6 +1,6 @@
1
1
  import json
2
2
  import logging
3
-
3
+ from typing import Dict, Any
4
4
  from deltacat import logs
5
5
  from deltacat.compute.compactor import RoundCompletionInfo
6
6
  from deltacat.storage import PartitionLocator
@@ -19,7 +19,9 @@ def get_round_completion_file_s3_url(
19
19
 
20
20
 
21
21
  def read_round_completion_file(
22
- bucket: str, source_partition_locator: PartitionLocator
22
+ bucket: str,
23
+ source_partition_locator: PartitionLocator,
24
+ **s3_client_kwargs: Optional[Dict[str, Any]],
23
25
  ) -> RoundCompletionInfo:
24
26
 
25
27
  round_completion_file_url = get_round_completion_file_s3_url(
@@ -28,7 +30,7 @@ def read_round_completion_file(
28
30
  )
29
31
  logger.info(f"reading round completion file from: {round_completion_file_url}")
30
32
  round_completion_info = None
31
- result = s3_utils.download(round_completion_file_url, False)
33
+ result = s3_utils.download(round_completion_file_url, False, **s3_client_kwargs)
32
34
  if result:
33
35
  json_str = result["Body"].read().decode("utf-8")
34
36
  round_completion_info = RoundCompletionInfo(json.loads(json_str))
@@ -41,6 +43,7 @@ def write_round_completion_file(
41
43
  source_partition_locator: Optional[PartitionLocator],
42
44
  round_completion_info: RoundCompletionInfo,
43
45
  completion_file_s3_url: str = None,
46
+ **s3_client_kwargs: Optional[Dict[str, Any]],
44
47
  ) -> str:
45
48
  if bucket is None and completion_file_s3_url is None:
46
49
  raise AssertionError("Either bucket or completion_file_s3_url must be passed")
@@ -52,6 +55,10 @@ def write_round_completion_file(
52
55
  source_partition_locator,
53
56
  )
54
57
  logger.info(f"writing round completion file to: {completion_file_s3_url}")
55
- s3_utils.upload(completion_file_s3_url, str(json.dumps(round_completion_info)))
58
+ s3_utils.upload(
59
+ completion_file_s3_url,
60
+ str(json.dumps(round_completion_info)),
61
+ **s3_client_kwargs,
62
+ )
56
63
  logger.info(f"round completion file written to: {completion_file_s3_url}")
57
64
  return completion_file_s3_url
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deltacat
3
- Version: 0.1.18b5
3
+ Version: 0.1.18b7
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
File without changes
File without changes
File without changes
File without changes
File without changes