orca-python 0.3.0__py3-none-any.whl → 0.4.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.
orca_python/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
- from orca_python.main import Window, Processor, EmitWindow
1
+ from orca_python.main import Window, Processor, EmitWindow, WindowType
2
2
 
3
- __all__ = ["Processor", "EmitWindow", "Window"]
3
+ __all__ = ["Processor", "EmitWindow", "Window", "WindowType"]
orca_python/main.py CHANGED
@@ -55,6 +55,25 @@ T = TypeVar("T", bound=AlgorithmFn)
55
55
  LOGGER = logging.getLogger(__name__)
56
56
 
57
57
 
58
+ @dataclass
59
+ class WindowType:
60
+ name: str
61
+ version: str
62
+ description: str
63
+
64
+ def __post__init__(self) -> None:
65
+ if not re.match(WINDOW_NAME, self.name):
66
+ raise InvalidAlgorithmArgument(
67
+ f"Window name '{self.name}' must be in PascalCase"
68
+ )
69
+
70
+ if not re.match(SEMVER_PATTERN, self.version):
71
+ raise InvalidAlgorithmArgument(
72
+ f"Window version '{self.version}' must follow basic semantic "
73
+ "versioning (e.g., '1.0.0') without release portions"
74
+ )
75
+
76
+
58
77
  @dataclass
59
78
  class Window:
60
79
  time_from: int
@@ -111,6 +130,7 @@ class Algorithm:
111
130
  version: str
112
131
  window_name: str
113
132
  window_version: str
133
+ window_description: str
114
134
  exec_fn: AlgorithmFn
115
135
  processor: str
116
136
  runtime: str
@@ -509,6 +529,7 @@ class Processor(OrcaProcessorServicer): # type: ignore
509
529
  # Add window type
510
530
  algo_msg.window_type.name = algorithm.window_name
511
531
  algo_msg.window_type.version = algorithm.window_version
532
+ algo_msg.window_type.description = algorithm.window_description
512
533
 
513
534
  # Add dependencies if they exist
514
535
  if algorithm.full_name in self._algorithmsSingleton._dependencies:
@@ -585,8 +606,7 @@ class Processor(OrcaProcessorServicer): # type: ignore
585
606
  self,
586
607
  name: str,
587
608
  version: str,
588
- window_name: str,
589
- window_version: str,
609
+ window_type: WindowType,
590
610
  depends_on: List[Callable[..., Any]] = [],
591
611
  ) -> Callable[[T], T]:
592
612
  """
@@ -595,10 +615,8 @@ class Processor(OrcaProcessorServicer): # type: ignore
595
615
  Args:
596
616
  name (str): Algorithm name (PascalCase).
597
617
  version (str): Semantic version (e.g., "1.0.0").
598
- window_name (str): Triggering window name (PascalCase).
599
- window_version (str): Semantic version of the window.
618
+ window_type (WindowType): Triggering window type
600
619
  depends_on (List[Callable]): List of dependent algorithm functions.
601
-
602
620
  Returns:
603
621
  Callable[[T], T]: The decorated function.
604
622
 
@@ -617,17 +635,6 @@ class Processor(OrcaProcessorServicer): # type: ignore
617
635
  "versioning (e.g., '1.0.0') without release portions"
618
636
  )
619
637
 
620
- if not re.match(WINDOW_NAME, window_name):
621
- raise InvalidAlgorithmArgument(
622
- f"Window name '{window_name}' must be in PascalCase"
623
- )
624
-
625
- if not re.match(SEMVER_PATTERN, window_version):
626
- raise InvalidAlgorithmArgument(
627
- f"Window version '{window_version}' must follow basic semantic "
628
- "versioning (e.g., '1.0.0') without release portions"
629
- )
630
-
631
638
  def inner(algo: T) -> T:
632
639
  def wrapper(
633
640
  dependency_values: Dict[str, Any] | None = None,
@@ -660,8 +667,9 @@ class Processor(OrcaProcessorServicer): # type: ignore
660
667
  algorithm = Algorithm(
661
668
  name=name,
662
669
  version=version,
663
- window_name=window_name,
664
- window_version=window_version,
670
+ window_name=window_type.name,
671
+ window_version=window_type.version,
672
+ window_description=window_type.description,
665
673
  exec_fn=wrapper,
666
674
  processor=self._name,
667
675
  runtime=sys.version,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: orca-python
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Python SDK for the Predixus Orca product
5
5
  Author: Frederick Mannings
6
6
  Author-email: contact@predixus.com
@@ -1,17 +1,17 @@
1
1
  __init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- service_pb2.py,sha256=2lo-2dtvDnLo2JtK26B2VN8PGI-yXMzpJpPqginVzHA,16167
3
- service_pb2.pyi,sha256=_EhTUy_VBfVP9ytmVEGhVQ_NodZMJvfpxbp10GWBfIE,11608
4
- service_pb2_grpc.py,sha256=cAADQz6f26Dh6fXrvtdpLS8dKI_5OXE11kzAmgm-4Wk,17835
2
+ service_pb2.py,sha256=O9Z-UawI0OCuztUEooLmDwx-FMwnTnhKswx3sH1fuGY,16422
3
+ service_pb2.pyi,sha256=aM7M31KZljN9OMFh1MIkyhEWl8xglhq5NKsV1G06Rpw,11724
4
+ service_pb2_grpc.py,sha256=fh82JLm4Y0wOOabMfbrP2qoq7QJ67CRE3Xs9Igqp7ns,17598
5
5
  vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  vendor/validate_pb2.py,sha256=lyYYFtGDzHjs9ZHMUnQLcE_G5qYWfOluts0gm6m1D88,149437
7
7
  vendor/validate_pb2.pyi,sha256=Qyebm_XUdrvo8As3XovHu7vVsHXYJtTdP3bYUmQEecs,30245
8
8
  vendor/validate_pb2_grpc.py,sha256=qIlTS0MGHE7myQ7tCMbS-pPqA9FMZl_Hn9Mh_uq2o9o,896
9
- orca_python/__init__.py,sha256=7iu_tkM2DQXuNpBPx-uwj68l9SYHJxeyrM6NL1HsX5k,108
9
+ orca_python/__init__.py,sha256=Fg7IF5jObpFBAwZi_OtVY4_6w4sE87HnEaO07XgyLpQ,134
10
10
  orca_python/envs.py,sha256=zSuukNSpEw78VpSSIDAA9KRAurWedQMwx1qyQg9f8pk,560
11
11
  orca_python/exceptions.py,sha256=Z9iJg6tKpnrNhDxQlVvG5xpgjGbaiMNAeFkwMonM-PM,390
12
- orca_python/main.py,sha256=i5BVkisxuUdlG6djzw4QX7sls4O5eZTFiUH4vGqjahk,25544
12
+ orca_python/main.py,sha256=lid_8Pj6y240Oqj45q_gASMOYLjENNRYatdqNG3LtV8,25735
13
13
  orca_python/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- orca_python-0.3.0.dist-info/LICENSE,sha256=sxb8X8qhbZ_JaCBFmoIriJzA-jelKmh86sAKQsIRN_I,1062
15
- orca_python-0.3.0.dist-info/METADATA,sha256=aN0U-I2wRr1Er3ZGKRnq4wyI6nvxFIJ4wkdzcXBCVmY,3019
16
- orca_python-0.3.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
17
- orca_python-0.3.0.dist-info/RECORD,,
14
+ orca_python-0.4.0.dist-info/LICENSE,sha256=sxb8X8qhbZ_JaCBFmoIriJzA-jelKmh86sAKQsIRN_I,1062
15
+ orca_python-0.4.0.dist-info/METADATA,sha256=UXLD9lnYUIyh8v1YDaxo9-8KMw5FlmJJmVQnkF-lhig,3019
16
+ orca_python-0.4.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
17
+ orca_python-0.4.0.dist-info/RECORD,,
service_pb2.py CHANGED
@@ -26,7 +26,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
26
26
  from vendor import validate_pb2 as vendor_dot_validate__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x15vendor/validate.proto\"\xb9\x02\n\x06Window\x12\x1d\n\ttime_from\x18\x01 \x01(\x04\x42\n\xbaH\x07\x32\x02 \x00\xc8\x01\x01\x12\x17\n\x07time_to\x18\x02 \x01(\x04\x42\x06\xbaH\x03\xc8\x01\x01\x12 \n\x10window_type_name\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12#\n\x13window_type_version\x18\x04 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x16\n\x06origin\x18\x05 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12)\n\x08metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct:m\xbaHj\x1ah\n\x0ewindow.time_to\x12\x36`time_to` must be greater than or equal to `time_from`\x1a\x1ethis.time_to >= this.time_from\";\n\nWindowType\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07version\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\"\xa4\x01\n\x10WindowEmitStatus\x12\x34\n\x06status\x18\x01 \x01(\x0e\x32\x1c.WindowEmitStatus.StatusEnumB\x06\xbaH\x03\xc8\x01\x01\"Z\n\nStatusEnum\x12\x1b\n\x17NO_TRIGGERED_ALGORITHMS\x10\x00\x12\x18\n\x14PROCESSING_TRIGGERED\x10\x01\x12\x15\n\x11TRIGGERING_FAILED\x10\x02\"\x87\x01\n\x13\x41lgorithmDependency\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07version\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1e\n\x0eprocessor_name\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12!\n\x11processor_runtime\x18\x04 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\"\x90\x01\n\tAlgorithm\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07version\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12(\n\x0bwindow_type\x18\x03 \x01(\x0b\x32\x0b.WindowTypeB\x06\xbaH\x03\xc8\x01\x01\x12*\n\x0c\x64\x65pendencies\x18\x04 \x03(\x0b\x32\x14.AlgorithmDependency\"\x1c\n\nFloatArray\x12\x0e\n\x06values\x18\x01 \x03(\x02\"\xc7\x01\n\x06Result\x12%\n\x06status\x18\x01 \x01(\x0e\x32\r.ResultStatusB\x06\xbaH\x03\xc8\x01\x01\x12\x16\n\x0csingle_value\x18\x02 \x01(\x02H\x00\x12#\n\x0c\x66loat_values\x18\x03 \x01(\x0b\x32\x0b.FloatArrayH\x00\x12/\n\x0cstruct_value\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x19\n\ttimestamp\x18\x05 \x01(\x03\x42\x06\xbaH\x03\xc8\x01\x01\x42\r\n\x0bresult_data\"\x98\x01\n\x15ProcessorRegistration\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07runtime\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1e\n\x0e\x63onnection_str\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x30\n\x14supported_algorithms\x18\x04 \x03(\x0b\x32\n.AlgorithmB\x06\xbaH\x03\xc8\x01\x01\"\x96\x01\n\x0eProcessingTask\x12\x17\n\x07task_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12%\n\talgorithm\x18\x02 \x01(\x0b\x32\n.AlgorithmB\x06\xbaH\x03\xc8\x01\x01\x12\x1f\n\x06window\x18\x03 \x01(\x0b\x32\x07.WindowB\x06\xbaH\x03\xc8\x01\x01\x12#\n\x12\x64\x65pendency_results\x18\x04 \x03(\x0b\x32\x07.Result\"\x99\x01\n\x10\x45xecutionRequest\x12\x17\n\x07\x65xec_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1f\n\x06window\x18\x02 \x01(\x0b\x32\x07.WindowB\x06\xbaH\x03\xc8\x01\x01\x12+\n\x11\x61lgorithm_results\x18\x03 \x03(\x0b\x32\x10.AlgorithmResult\x12\x1e\n\nalgorithms\x18\x04 \x03(\x0b\x32\n.Algorithm\"^\n\x0f\x45xecutionResult\x12\x17\n\x07\x65xec_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x32\n\x10\x61lgorithm_result\x18\x03 \x01(\x0b\x32\x10.AlgorithmResultB\x06\xbaH\x03\xc8\x01\x01\"Y\n\x0f\x41lgorithmResult\x12%\n\talgorithm\x18\x01 \x01(\x0b\x32\n.AlgorithmB\x06\xbaH\x03\xc8\x01\x01\x12\x1f\n\x06result\x18\x02 \x01(\x0b\x32\x07.ResultB\x06\xbaH\x03\xc8\x01\x01\"+\n\x06Status\x12\x10\n\x08received\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\"/\n\x12HealthCheckRequest\x12\x19\n\ttimestamp\x18\x01 \x01(\x03\x42\x06\xbaH\x03\xc8\x01\x01\"\xe3\x01\n\x13HealthCheckResponse\x12\x33\n\x06status\x18\x01 \x01(\x0e\x32\x1b.HealthCheckResponse.StatusB\x06\xbaH\x03\xc8\x01\x01\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\"\n\x07metrics\x18\x03 \x01(\x0b\x32\x11.ProcessorMetrics\"b\n\x06Status\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\x12\n\x0eSTATUS_SERVING\x10\x01\x12\x18\n\x14STATUS_TRANSITIONING\x10\x02\x12\x16\n\x12STATUS_NOT_SERVING\x10\x03\"k\n\x10ProcessorMetrics\x12\x14\n\x0c\x61\x63tive_tasks\x18\x01 \x01(\x05\x12\x14\n\x0cmemory_bytes\x18\x02 \x01(\x03\x12\x13\n\x0b\x63pu_percent\x18\x03 \x01(\x02\x12\x16\n\x0euptime_seconds\x18\x04 \x01(\x03\"\x10\n\x0eWindowTypeRead\"+\n\x0bWindowTypes\x12\x1c\n\x07windows\x18\x01 \x03(\x0b\x32\x0b.WindowType\"\x10\n\x0e\x41lgorithmsRead\"+\n\nAlgorithms\x12\x1d\n\talgorithm\x18\x01 \x03(\x0b\x32\n.Algorithm\"\x10\n\x0eProcessorsRead\"b\n\nProcessors\x12(\n\tprocessor\x18\x01 \x03(\x0b\x32\x15.Processors.Processor\x1a*\n\tProcessor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07runtime\x18\x02 \x01(\t\"\x12\n\x10ResultsStatsRead\"\x1d\n\x0cResultsStats\x12\r\n\x05\x43ount\x18\x01 \x01(\x03*p\n\x0cResultStatus\x12 \n\x1cRESULT_STATUS_HANDLED_FAILED\x10\x00\x12\"\n\x1eRESULT_STATUS_UNHANDLED_FAILED\x10\x01\x12\x1a\n\x16RESULT_STATUS_SUCEEDED\x10\x02\x32\xb2\x02\n\x08OrcaCore\x12\x34\n\x11RegisterProcessor\x12\x16.ProcessorRegistration\x1a\x07.Status\x12(\n\nEmitWindow\x12\x07.Window\x1a\x11.WindowEmitStatus\x12\x30\n\x0fReadWindowTypes\x12\x0f.WindowTypeRead\x1a\x0c.WindowTypes\x12.\n\x0eReadAlgorithms\x12\x0f.AlgorithmsRead\x1a\x0b.Algorithms\x12.\n\x0eReadProcessors\x12\x0f.ProcessorsRead\x1a\x0b.Processors\x12\x34\n\x10ReadResultsStats\x12\x11.ResultsStatsRead\x1a\r.ResultsStats2\x82\x01\n\rOrcaProcessor\x12\x37\n\x0e\x45xecuteDagPart\x12\x11.ExecutionRequest\x1a\x10.ExecutionResult0\x01\x12\x38\n\x0bHealthCheck\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponseB\'Z%github.com/predixus/orca/protobufs/gob\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rservice.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x15vendor/validate.proto\"\xb9\x02\n\x06Window\x12\x1d\n\ttime_from\x18\x01 \x01(\x04\x42\n\xbaH\x07\x32\x02 \x00\xc8\x01\x01\x12\x17\n\x07time_to\x18\x02 \x01(\x04\x42\x06\xbaH\x03\xc8\x01\x01\x12 \n\x10window_type_name\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12#\n\x13window_type_version\x18\x04 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x16\n\x06origin\x18\x05 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12)\n\x08metadata\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct:m\xbaHj\x1ah\n\x0ewindow.time_to\x12\x36`time_to` must be greater than or equal to `time_from`\x1a\x1ethis.time_to >= this.time_from\"X\n\nWindowType\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07version\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1b\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\"\xa4\x01\n\x10WindowEmitStatus\x12\x34\n\x06status\x18\x01 \x01(\x0e\x32\x1c.WindowEmitStatus.StatusEnumB\x06\xbaH\x03\xc8\x01\x01\"Z\n\nStatusEnum\x12\x1b\n\x17NO_TRIGGERED_ALGORITHMS\x10\x00\x12\x18\n\x14PROCESSING_TRIGGERED\x10\x01\x12\x15\n\x11TRIGGERING_FAILED\x10\x02\"\x87\x01\n\x13\x41lgorithmDependency\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07version\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1e\n\x0eprocessor_name\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12!\n\x11processor_runtime\x18\x04 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\"\x90\x01\n\tAlgorithm\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07version\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12(\n\x0bwindow_type\x18\x03 \x01(\x0b\x32\x0b.WindowTypeB\x06\xbaH\x03\xc8\x01\x01\x12*\n\x0c\x64\x65pendencies\x18\x04 \x03(\x0b\x32\x14.AlgorithmDependency\"\x1c\n\nFloatArray\x12\x0e\n\x06values\x18\x01 \x03(\x02\"\xc7\x01\n\x06Result\x12%\n\x06status\x18\x01 \x01(\x0e\x32\r.ResultStatusB\x06\xbaH\x03\xc8\x01\x01\x12\x16\n\x0csingle_value\x18\x02 \x01(\x02H\x00\x12#\n\x0c\x66loat_values\x18\x03 \x01(\x0b\x32\x0b.FloatArrayH\x00\x12/\n\x0cstruct_value\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x19\n\ttimestamp\x18\x05 \x01(\x03\x42\x06\xbaH\x03\xc8\x01\x01\x42\r\n\x0bresult_data\"\x98\x01\n\x15ProcessorRegistration\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x17\n\x07runtime\x18\x02 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1e\n\x0e\x63onnection_str\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x30\n\x14supported_algorithms\x18\x04 \x03(\x0b\x32\n.AlgorithmB\x06\xbaH\x03\xc8\x01\x01\"\x96\x01\n\x0eProcessingTask\x12\x17\n\x07task_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12%\n\talgorithm\x18\x02 \x01(\x0b\x32\n.AlgorithmB\x06\xbaH\x03\xc8\x01\x01\x12\x1f\n\x06window\x18\x03 \x01(\x0b\x32\x07.WindowB\x06\xbaH\x03\xc8\x01\x01\x12#\n\x12\x64\x65pendency_results\x18\x04 \x03(\x0b\x32\x07.Result\"\x99\x01\n\x10\x45xecutionRequest\x12\x17\n\x07\x65xec_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x1f\n\x06window\x18\x02 \x01(\x0b\x32\x07.WindowB\x06\xbaH\x03\xc8\x01\x01\x12+\n\x11\x61lgorithm_results\x18\x03 \x03(\x0b\x32\x10.AlgorithmResult\x12\x1e\n\nalgorithms\x18\x04 \x03(\x0b\x32\n.Algorithm\"^\n\x0f\x45xecutionResult\x12\x17\n\x07\x65xec_id\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01\x12\x32\n\x10\x61lgorithm_result\x18\x03 \x01(\x0b\x32\x10.AlgorithmResultB\x06\xbaH\x03\xc8\x01\x01\"Y\n\x0f\x41lgorithmResult\x12%\n\talgorithm\x18\x01 \x01(\x0b\x32\n.AlgorithmB\x06\xbaH\x03\xc8\x01\x01\x12\x1f\n\x06result\x18\x02 \x01(\x0b\x32\x07.ResultB\x06\xbaH\x03\xc8\x01\x01\"+\n\x06Status\x12\x10\n\x08received\x18\x01 \x01(\x08\x12\x0f\n\x07message\x18\x02 \x01(\t\"/\n\x12HealthCheckRequest\x12\x19\n\ttimestamp\x18\x01 \x01(\x03\x42\x06\xbaH\x03\xc8\x01\x01\"\xe3\x01\n\x13HealthCheckResponse\x12\x33\n\x06status\x18\x01 \x01(\x0e\x32\x1b.HealthCheckResponse.StatusB\x06\xbaH\x03\xc8\x01\x01\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\"\n\x07metrics\x18\x03 \x01(\x0b\x32\x11.ProcessorMetrics\"b\n\x06Status\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\x12\n\x0eSTATUS_SERVING\x10\x01\x12\x18\n\x14STATUS_TRANSITIONING\x10\x02\x12\x16\n\x12STATUS_NOT_SERVING\x10\x03\"k\n\x10ProcessorMetrics\x12\x14\n\x0c\x61\x63tive_tasks\x18\x01 \x01(\x05\x12\x14\n\x0cmemory_bytes\x18\x02 \x01(\x03\x12\x13\n\x0b\x63pu_percent\x18\x03 \x01(\x02\x12\x16\n\x0euptime_seconds\x18\x04 \x01(\x03\"\x10\n\x0eWindowTypeRead\"+\n\x0bWindowTypes\x12\x1c\n\x07windows\x18\x01 \x03(\x0b\x32\x0b.WindowType\"\x10\n\x0e\x41lgorithmsRead\"+\n\nAlgorithms\x12\x1d\n\talgorithm\x18\x01 \x03(\x0b\x32\n.Algorithm\"\x10\n\x0eProcessorsRead\"b\n\nProcessors\x12(\n\tprocessor\x18\x01 \x03(\x0b\x32\x15.Processors.Processor\x1a*\n\tProcessor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07runtime\x18\x02 \x01(\t\"\x12\n\x10ResultsStatsRead\"\x1d\n\x0cResultsStats\x12\r\n\x05\x43ount\x18\x01 \x01(\x03*p\n\x0cResultStatus\x12 \n\x1cRESULT_STATUS_HANDLED_FAILED\x10\x00\x12\"\n\x1eRESULT_STATUS_UNHANDLED_FAILED\x10\x01\x12\x1a\n\x16RESULT_STATUS_SUCEEDED\x10\x02\x32\xb2\x02\n\x08OrcaCore\x12\x34\n\x11RegisterProcessor\x12\x16.ProcessorRegistration\x1a\x07.Status\x12(\n\nEmitWindow\x12\x07.Window\x1a\x11.WindowEmitStatus\x12\x30\n\x0fReadWindowTypes\x12\x0f.WindowTypeRead\x1a\x0c.WindowTypes\x12.\n\x0eReadAlgorithms\x12\x0f.AlgorithmsRead\x1a\x0b.Algorithms\x12.\n\x0eReadProcessors\x12\x0f.ProcessorsRead\x1a\x0b.Processors\x12\x34\n\x10ReadResultsStats\x12\x11.ResultsStatsRead\x1a\r.ResultsStats2\x82\x01\n\rOrcaProcessor\x12\x37\n\x0e\x45xecuteDagPart\x12\x11.ExecutionRequest\x1a\x10.ExecutionResult0\x01\x12\x38\n\x0bHealthCheck\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponseB\'Z%github.com/predixus/orca/protobufs/gob\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -50,6 +50,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
50
50
  _globals['_WINDOWTYPE'].fields_by_name['name']._serialized_options = b'\272H\003\310\001\001'
51
51
  _globals['_WINDOWTYPE'].fields_by_name['version']._loaded_options = None
52
52
  _globals['_WINDOWTYPE'].fields_by_name['version']._serialized_options = b'\272H\003\310\001\001'
53
+ _globals['_WINDOWTYPE'].fields_by_name['description']._loaded_options = None
54
+ _globals['_WINDOWTYPE'].fields_by_name['description']._serialized_options = b'\272H\003\310\001\001'
53
55
  _globals['_WINDOWEMITSTATUS'].fields_by_name['status']._loaded_options = None
54
56
  _globals['_WINDOWEMITSTATUS'].fields_by_name['status']._serialized_options = b'\272H\003\310\001\001'
55
57
  _globals['_ALGORITHMDEPENDENCY'].fields_by_name['name']._loaded_options = None
@@ -100,64 +102,64 @@ if not _descriptor._USE_C_DESCRIPTORS:
100
102
  _globals['_HEALTHCHECKREQUEST'].fields_by_name['timestamp']._serialized_options = b'\272H\003\310\001\001'
101
103
  _globals['_HEALTHCHECKRESPONSE'].fields_by_name['status']._loaded_options = None
102
104
  _globals['_HEALTHCHECKRESPONSE'].fields_by_name['status']._serialized_options = b'\272H\003\310\001\001'
103
- _globals['_RESULTSTATUS']._serialized_start=2510
104
- _globals['_RESULTSTATUS']._serialized_end=2622
105
+ _globals['_RESULTSTATUS']._serialized_start=2539
106
+ _globals['_RESULTSTATUS']._serialized_end=2651
105
107
  _globals['_WINDOW']._serialized_start=71
106
108
  _globals['_WINDOW']._serialized_end=384
107
109
  _globals['_WINDOWTYPE']._serialized_start=386
108
- _globals['_WINDOWTYPE']._serialized_end=445
109
- _globals['_WINDOWEMITSTATUS']._serialized_start=448
110
- _globals['_WINDOWEMITSTATUS']._serialized_end=612
111
- _globals['_WINDOWEMITSTATUS_STATUSENUM']._serialized_start=522
112
- _globals['_WINDOWEMITSTATUS_STATUSENUM']._serialized_end=612
113
- _globals['_ALGORITHMDEPENDENCY']._serialized_start=615
114
- _globals['_ALGORITHMDEPENDENCY']._serialized_end=750
115
- _globals['_ALGORITHM']._serialized_start=753
116
- _globals['_ALGORITHM']._serialized_end=897
117
- _globals['_FLOATARRAY']._serialized_start=899
118
- _globals['_FLOATARRAY']._serialized_end=927
119
- _globals['_RESULT']._serialized_start=930
120
- _globals['_RESULT']._serialized_end=1129
121
- _globals['_PROCESSORREGISTRATION']._serialized_start=1132
122
- _globals['_PROCESSORREGISTRATION']._serialized_end=1284
123
- _globals['_PROCESSINGTASK']._serialized_start=1287
124
- _globals['_PROCESSINGTASK']._serialized_end=1437
125
- _globals['_EXECUTIONREQUEST']._serialized_start=1440
126
- _globals['_EXECUTIONREQUEST']._serialized_end=1593
127
- _globals['_EXECUTIONRESULT']._serialized_start=1595
128
- _globals['_EXECUTIONRESULT']._serialized_end=1689
129
- _globals['_ALGORITHMRESULT']._serialized_start=1691
130
- _globals['_ALGORITHMRESULT']._serialized_end=1780
131
- _globals['_STATUS']._serialized_start=1782
132
- _globals['_STATUS']._serialized_end=1825
133
- _globals['_HEALTHCHECKREQUEST']._serialized_start=1827
134
- _globals['_HEALTHCHECKREQUEST']._serialized_end=1874
135
- _globals['_HEALTHCHECKRESPONSE']._serialized_start=1877
136
- _globals['_HEALTHCHECKRESPONSE']._serialized_end=2104
137
- _globals['_HEALTHCHECKRESPONSE_STATUS']._serialized_start=2006
138
- _globals['_HEALTHCHECKRESPONSE_STATUS']._serialized_end=2104
139
- _globals['_PROCESSORMETRICS']._serialized_start=2106
140
- _globals['_PROCESSORMETRICS']._serialized_end=2213
141
- _globals['_WINDOWTYPEREAD']._serialized_start=2215
142
- _globals['_WINDOWTYPEREAD']._serialized_end=2231
143
- _globals['_WINDOWTYPES']._serialized_start=2233
144
- _globals['_WINDOWTYPES']._serialized_end=2276
145
- _globals['_ALGORITHMSREAD']._serialized_start=2278
146
- _globals['_ALGORITHMSREAD']._serialized_end=2294
147
- _globals['_ALGORITHMS']._serialized_start=2296
148
- _globals['_ALGORITHMS']._serialized_end=2339
149
- _globals['_PROCESSORSREAD']._serialized_start=2341
150
- _globals['_PROCESSORSREAD']._serialized_end=2357
151
- _globals['_PROCESSORS']._serialized_start=2359
152
- _globals['_PROCESSORS']._serialized_end=2457
153
- _globals['_PROCESSORS_PROCESSOR']._serialized_start=2415
154
- _globals['_PROCESSORS_PROCESSOR']._serialized_end=2457
155
- _globals['_RESULTSSTATSREAD']._serialized_start=2459
156
- _globals['_RESULTSSTATSREAD']._serialized_end=2477
157
- _globals['_RESULTSSTATS']._serialized_start=2479
158
- _globals['_RESULTSSTATS']._serialized_end=2508
159
- _globals['_ORCACORE']._serialized_start=2625
160
- _globals['_ORCACORE']._serialized_end=2931
161
- _globals['_ORCAPROCESSOR']._serialized_start=2934
162
- _globals['_ORCAPROCESSOR']._serialized_end=3064
110
+ _globals['_WINDOWTYPE']._serialized_end=474
111
+ _globals['_WINDOWEMITSTATUS']._serialized_start=477
112
+ _globals['_WINDOWEMITSTATUS']._serialized_end=641
113
+ _globals['_WINDOWEMITSTATUS_STATUSENUM']._serialized_start=551
114
+ _globals['_WINDOWEMITSTATUS_STATUSENUM']._serialized_end=641
115
+ _globals['_ALGORITHMDEPENDENCY']._serialized_start=644
116
+ _globals['_ALGORITHMDEPENDENCY']._serialized_end=779
117
+ _globals['_ALGORITHM']._serialized_start=782
118
+ _globals['_ALGORITHM']._serialized_end=926
119
+ _globals['_FLOATARRAY']._serialized_start=928
120
+ _globals['_FLOATARRAY']._serialized_end=956
121
+ _globals['_RESULT']._serialized_start=959
122
+ _globals['_RESULT']._serialized_end=1158
123
+ _globals['_PROCESSORREGISTRATION']._serialized_start=1161
124
+ _globals['_PROCESSORREGISTRATION']._serialized_end=1313
125
+ _globals['_PROCESSINGTASK']._serialized_start=1316
126
+ _globals['_PROCESSINGTASK']._serialized_end=1466
127
+ _globals['_EXECUTIONREQUEST']._serialized_start=1469
128
+ _globals['_EXECUTIONREQUEST']._serialized_end=1622
129
+ _globals['_EXECUTIONRESULT']._serialized_start=1624
130
+ _globals['_EXECUTIONRESULT']._serialized_end=1718
131
+ _globals['_ALGORITHMRESULT']._serialized_start=1720
132
+ _globals['_ALGORITHMRESULT']._serialized_end=1809
133
+ _globals['_STATUS']._serialized_start=1811
134
+ _globals['_STATUS']._serialized_end=1854
135
+ _globals['_HEALTHCHECKREQUEST']._serialized_start=1856
136
+ _globals['_HEALTHCHECKREQUEST']._serialized_end=1903
137
+ _globals['_HEALTHCHECKRESPONSE']._serialized_start=1906
138
+ _globals['_HEALTHCHECKRESPONSE']._serialized_end=2133
139
+ _globals['_HEALTHCHECKRESPONSE_STATUS']._serialized_start=2035
140
+ _globals['_HEALTHCHECKRESPONSE_STATUS']._serialized_end=2133
141
+ _globals['_PROCESSORMETRICS']._serialized_start=2135
142
+ _globals['_PROCESSORMETRICS']._serialized_end=2242
143
+ _globals['_WINDOWTYPEREAD']._serialized_start=2244
144
+ _globals['_WINDOWTYPEREAD']._serialized_end=2260
145
+ _globals['_WINDOWTYPES']._serialized_start=2262
146
+ _globals['_WINDOWTYPES']._serialized_end=2305
147
+ _globals['_ALGORITHMSREAD']._serialized_start=2307
148
+ _globals['_ALGORITHMSREAD']._serialized_end=2323
149
+ _globals['_ALGORITHMS']._serialized_start=2325
150
+ _globals['_ALGORITHMS']._serialized_end=2368
151
+ _globals['_PROCESSORSREAD']._serialized_start=2370
152
+ _globals['_PROCESSORSREAD']._serialized_end=2386
153
+ _globals['_PROCESSORS']._serialized_start=2388
154
+ _globals['_PROCESSORS']._serialized_end=2486
155
+ _globals['_PROCESSORS_PROCESSOR']._serialized_start=2444
156
+ _globals['_PROCESSORS_PROCESSOR']._serialized_end=2486
157
+ _globals['_RESULTSSTATSREAD']._serialized_start=2488
158
+ _globals['_RESULTSSTATSREAD']._serialized_end=2506
159
+ _globals['_RESULTSSTATS']._serialized_start=2508
160
+ _globals['_RESULTSSTATS']._serialized_end=2537
161
+ _globals['_ORCACORE']._serialized_start=2654
162
+ _globals['_ORCACORE']._serialized_end=2960
163
+ _globals['_ORCAPROCESSOR']._serialized_start=2963
164
+ _globals['_ORCAPROCESSOR']._serialized_end=3093
163
165
  # @@protoc_insertion_point(module_scope)
service_pb2.pyi CHANGED
@@ -34,12 +34,14 @@ class Window(_message.Message):
34
34
  def __init__(self, time_from: _Optional[int] = ..., time_to: _Optional[int] = ..., window_type_name: _Optional[str] = ..., window_type_version: _Optional[str] = ..., origin: _Optional[str] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
35
35
 
36
36
  class WindowType(_message.Message):
37
- __slots__ = ("name", "version")
37
+ __slots__ = ("name", "version", "description")
38
38
  NAME_FIELD_NUMBER: _ClassVar[int]
39
39
  VERSION_FIELD_NUMBER: _ClassVar[int]
40
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
40
41
  name: str
41
42
  version: str
42
- def __init__(self, name: _Optional[str] = ..., version: _Optional[str] = ...) -> None: ...
43
+ description: str
44
+ def __init__(self, name: _Optional[str] = ..., version: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
43
45
 
44
46
  class WindowEmitStatus(_message.Message):
45
47
  __slots__ = ("status",)
service_pb2_grpc.py CHANGED
@@ -334,9 +334,7 @@ class OrcaCore(object):
334
334
 
335
335
 
336
336
  class OrcaProcessorStub(object):
337
- """---------------------------- Core Operations ----------------------------
338
-
339
- OrcaProcessor defines the interface that each processing node must implement.
337
+ """OrcaProcessor defines the interface that each processing node must implement.
340
338
  Processors are language-agnostic services that:
341
339
  - Execute individual algorithms
342
340
  - Handle their own internal state
@@ -363,9 +361,7 @@ class OrcaProcessorStub(object):
363
361
 
364
362
 
365
363
  class OrcaProcessorServicer(object):
366
- """---------------------------- Core Operations ----------------------------
367
-
368
- OrcaProcessor defines the interface that each processing node must implement.
364
+ """OrcaProcessor defines the interface that each processing node must implement.
369
365
  Processors are language-agnostic services that:
370
366
  - Execute individual algorithms
371
367
  - Handle their own internal state
@@ -410,9 +406,7 @@ def add_OrcaProcessorServicer_to_server(servicer, server):
410
406
 
411
407
  # This class is part of an EXPERIMENTAL API.
412
408
  class OrcaProcessor(object):
413
- """---------------------------- Core Operations ----------------------------
414
-
415
- OrcaProcessor defines the interface that each processing node must implement.
409
+ """OrcaProcessor defines the interface that each processing node must implement.
416
410
  Processors are language-agnostic services that:
417
411
  - Execute individual algorithms
418
412
  - Handle their own internal state