corva-worker-python 1.2.2__tar.gz → 1.2.4__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 (82) hide show
  1. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/PKG-INFO +1 -1
  2. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/corva_worker_python.egg-info/PKG-INFO +1 -1
  3. corva-worker-python-1.2.4/setup.py +29 -0
  4. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/partial_rerun_merge/merge.py +24 -5
  5. corva-worker-python-1.2.2/setup.py +0 -30
  6. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/README.md +0 -0
  7. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/corva_worker_python.egg-info/SOURCES.txt +0 -0
  8. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/corva_worker_python.egg-info/dependency_links.txt +0 -0
  9. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/corva_worker_python.egg-info/requires.txt +0 -0
  10. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/corva_worker_python.egg-info/top_level.txt +0 -0
  11. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/pyproject.toml +0 -0
  12. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/setup.cfg +0 -0
  13. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/__init__.py +0 -0
  14. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/app_constants.py +0 -0
  15. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/app_lambda.py +0 -0
  16. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/app_partial_rerun_merger.py +0 -0
  17. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/disable_module.py +0 -0
  18. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/drilling_efficiency_app.py +0 -0
  19. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/app/surface_mse_module.py +0 -0
  20. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/state_testing_app/__init__.py +0 -0
  21. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/state_testing_app/app_constants.py +0 -0
  22. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/state_testing_app/app_lambda.py +0 -0
  23. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/state_testing_app/state_modules.py +0 -0
  24. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/testcase/state_testing_app/state_testing_app.py +0 -0
  25. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/__init__.py +0 -0
  26. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/__init__.py +0 -0
  27. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/__init__.py +0 -0
  28. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/activity_module.py +0 -0
  29. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/connection_module.py +0 -0
  30. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/depth_activity_module.py +0 -0
  31. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/scheduler.py +0 -0
  32. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/time_activity_module.py +0 -0
  33. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/app/modules/trigger.py +0 -0
  34. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/constants.py +0 -0
  35. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/__init__.py +0 -0
  36. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/activity/__init__.py +0 -0
  37. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/activity/activity_grouping.py +0 -0
  38. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/alert.py +0 -0
  39. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/api.py +0 -0
  40. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/enums.py +0 -0
  41. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/json_encoder.py +0 -0
  42. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/math.py +0 -0
  43. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/operations.py +3 -3
  44. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/serialization.py +0 -0
  45. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/task_handler.py +0 -0
  46. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/two_way_dict.py +0 -0
  47. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/unit_conversions.py +0 -0
  48. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/data/wits.py +0 -0
  49. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/event/__init__.py +0 -0
  50. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/event/event_handler.py +0 -0
  51. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/event/scheduled.py +0 -0
  52. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/event/stream.py +0 -0
  53. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/exceptions.py +0 -0
  54. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/mixins/__init__.py +0 -0
  55. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/mixins/logging.py +0 -0
  56. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/mixins/rollbar.py +0 -0
  57. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/partial_rerun_merge/__init__.py +0 -0
  58. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/partial_rerun_merge/models.py +0 -0
  59. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/partial_rerun_merge/progress.py +0 -0
  60. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/state/__init__.py +0 -0
  61. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/state/mixins.py +0 -0
  62. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/state/state.py +0 -0
  63. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/test/__init__.py +0 -0
  64. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/test/lambda_function_test_run.py +0 -0
  65. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/test/local_testing/__init__.py +0 -0
  66. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/test/local_testing/to_local_transfer.py +0 -0
  67. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/test/utils.py +0 -0
  68. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/__init__.py +0 -0
  69. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/factory.py +0 -0
  70. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/measured_depth_finder.py +0 -0
  71. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/__init__.py +0 -0
  72. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/ann.py +0 -0
  73. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/annulus.py +0 -0
  74. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/drillstring.py +0 -0
  75. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/drillstring_components.py +0 -0
  76. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/element.py +0 -0
  77. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/enums.py +0 -0
  78. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/hole.py +0 -0
  79. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/hole_section.py +0 -0
  80. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/model/riser.py +0 -0
  81. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/sections_mixin.py +0 -0
  82. {corva-worker-python-1.2.2 → corva-worker-python-1.2.4}/worker/wellbore/wellbore.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: corva-worker-python
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: SDK for interacting with Corva
5
5
  Home-page: https://github.com/corva-ai/corva-worker-python
6
6
  Author: Jordan Ambra <jordan.ambra@corva.ai>, Mohammadreza Kamyab <m.kamyab@corva.ai>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: corva-worker-python
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: SDK for interacting with Corva
5
5
  Home-page: https://github.com/corva-ai/corva-worker-python
6
6
  Author: Jordan Ambra <jordan.ambra@corva.ai>, Mohammadreza Kamyab <m.kamyab@corva.ai>
@@ -0,0 +1,29 @@
1
+ from setuptools import find_packages, setup
2
+
3
+ classifiers = [
4
+ "Development Status :: 5 - Production/Stable",
5
+ "Intended Audience :: Developers",
6
+ "Operating System :: OS Independent",
7
+ "Programming Language :: Python",
8
+ "Programming Language :: Python :: 3",
9
+ "Programming Language :: Python :: 3.8",
10
+ "Programming Language :: Python :: 3.9",
11
+ "Programming Language :: Python :: 3.10",
12
+ "Programming Language :: Python :: 3.11",
13
+ "Topic :: Software Development :: Libraries",
14
+ ]
15
+
16
+ setup(
17
+ name="corva-worker-python",
18
+ author="Jordan Ambra <jordan.ambra@corva.ai>, Mohammadreza Kamyab <m.kamyab@corva.ai>",
19
+ url="https://github.com/corva-ai/corva-worker-python",
20
+ version="1.2.4",
21
+ classifiers=classifiers,
22
+ python_requires=">=3.8",
23
+ description="SDK for interacting with Corva",
24
+ keywords="corva, worker",
25
+ packages=find_packages(exclude=["testcase"]),
26
+ install_requires=["numpy", "redis", "requests", "simplejson"],
27
+ include_package_data=True,
28
+ license="Unlicensed",
29
+ )
@@ -181,6 +181,7 @@ class PartialRerunMerge:
181
181
  self,
182
182
  collection_name: str,
183
183
  downsample_count: Optional[int] = None,
184
+ downsample_ratio: Optional[float] = None,
184
185
  skip_progress: Optional[bool] = False,
185
186
  ) -> bool:
186
187
  """
@@ -191,6 +192,7 @@ class PartialRerunMerge:
191
192
  Args:
192
193
  collection_name (str): the collection name
193
194
  downsample_count (Optional[int]): the downsample count. Defaults to None.
195
+ downsample_ratio (Optional[float]): the downsample ratio. Defaults to None.
194
196
  skip_progress (Optional[bool]): whether to skip the progress. Defaults to False.
195
197
  """
196
198
  dataset_progress = self.merging_progress.get_dataset_progress(collection_name)
@@ -216,6 +218,7 @@ class PartialRerunMerge:
216
218
  break
217
219
 
218
220
  updated_data = self._get_data(collection_name, self.rerun_asset_id, start_time, self.end_timestamp, "once")
221
+ original_records_count = len(updated_data)
219
222
  if not updated_data:
220
223
  dataset_progress.mark_completed_at(self.end_timestamp)
221
224
  is_completed = True
@@ -223,14 +226,14 @@ class PartialRerunMerge:
223
226
 
224
227
  last_timestamp = updated_data[-1]["timestamp"]
225
228
 
226
- if downsample_count:
227
- updated_data = choose_items(updated_data, self.MAX_RECORDS_COUNT)
229
+ if downsample_count is not None or downsample_ratio is not None:
230
+ updated_data = choose_items(updated_data, downsample_count, downsample_ratio)
228
231
 
229
232
  self._move_records(collection_name, updated_data)
230
233
 
231
234
  dataset_progress.processed_timestamp = last_timestamp
232
235
 
233
- if len(updated_data) < self.MAX_API_GET_LIMIT:
236
+ if original_records_count < self.MAX_API_GET_LIMIT:
234
237
  dataset_progress.mark_completed_at(self.end_timestamp)
235
238
  is_completed = True
236
239
  break
@@ -454,7 +457,11 @@ class PartialRerunMerge:
454
457
  time.sleep(seconds)
455
458
 
456
459
 
457
- def choose_items(records: List, max_records_count: Optional[int] = None) -> List:
460
+ def choose_items(
461
+ records: List,
462
+ max_records_count: Optional[int] = None,
463
+ max_records_ratio: Optional[float] = None,
464
+ ) -> List:
458
465
  """
459
466
  Choose a subset of records from a list of records; the first and last
460
467
  records an inclusive.
@@ -463,11 +470,23 @@ def choose_items(records: List, max_records_count: Optional[int] = None) -> List
463
470
  records (List): A list of records.
464
471
  max_records_count (Optional[int]): The maximum number of records
465
472
  to choose. If None, all records are chosen.
473
+ max_records_ratio (Optional[float]): The maximum ratio of records
474
+ to choose. If None, all records are chosen.
466
475
 
467
476
  Returns:
468
477
  List: A list of chosen records.
469
478
  """
470
- if max_records_count is None or max_records_count <= 0 or len(records) <= max_records_count or len(records) < 3:
479
+ if max_records_count is None and max_records_ratio is None:
480
+ return records
481
+
482
+ # only one of max_records_count and max_records_ratio can be provided
483
+ if max_records_count is not None and max_records_ratio is not None:
484
+ raise ValueError("Only one of max_records_count and max_records_ratio can be provided.")
485
+
486
+ if max_records_ratio is not None:
487
+ max_records_count = int(len(records) * max_records_ratio)
488
+
489
+ if max_records_count <= 0 or len(records) <= max_records_count or len(records) < 3:
471
490
  return records
472
491
 
473
492
  step = pymath.ceil((len(records) - 2) / max_records_count)
@@ -1,30 +0,0 @@
1
- from setuptools import find_packages, setup
2
-
3
-
4
- classifiers = [
5
- 'Development Status :: 5 - Production/Stable',
6
- 'Intended Audience :: Developers',
7
- 'Operating System :: OS Independent',
8
- 'Programming Language :: Python',
9
- 'Programming Language :: Python :: 3',
10
- 'Programming Language :: Python :: 3.8',
11
- 'Programming Language :: Python :: 3.9',
12
- 'Programming Language :: Python :: 3.10',
13
- 'Programming Language :: Python :: 3.11',
14
- 'Topic :: Software Development :: Libraries',
15
- ]
16
-
17
- setup(
18
- name='corva-worker-python',
19
- author='Jordan Ambra <jordan.ambra@corva.ai>, Mohammadreza Kamyab <m.kamyab@corva.ai>',
20
- url='https://github.com/corva-ai/corva-worker-python',
21
- version='1.2.2',
22
- classifiers=classifiers,
23
- python_requires='>=3.8',
24
- description='SDK for interacting with Corva',
25
- keywords='corva, worker',
26
- packages=find_packages(exclude=["testcase"]),
27
- install_requires=["numpy", "redis", "requests", "simplejson"],
28
- include_package_data=True,
29
- license='Unlicensed',
30
- )
@@ -391,12 +391,12 @@ def get_cleaned_event_and_type(event) -> Tuple[Union[list, dict], EventType]:
391
391
  if event.get("event_type") == "partial-well-rerun-merge":
392
392
  return event, EventType.PARTIAL_RERUN
393
393
 
394
- if "asset_id" in event:
395
- return event, EventType.GENERIC
396
-
397
394
  if "task_id" in event:
398
395
  return event, EventType.TASK
399
396
 
397
+ if "asset_id" in event:
398
+ return event, EventType.GENERIC
399
+
400
400
  raise TypeError("Missing task_id or asset_id keys in event")
401
401
 
402
402
  if not isinstance(event, list):