sapiopycommons 2025.4.25a497__py3-none-any.whl → 2025.4.25a498__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 sapiopycommons might be problematic. Click here for more details.

Files changed (51) hide show
  1. sapiopycommons/callbacks/callback_util.py +116 -64
  2. sapiopycommons/callbacks/field_builder.py +2 -0
  3. sapiopycommons/customreport/auto_pagers.py +2 -1
  4. sapiopycommons/customreport/term_builder.py +1 -1
  5. sapiopycommons/datatype/pseudo_data_types.py +349 -326
  6. sapiopycommons/eln/experiment_cache.py +188 -0
  7. sapiopycommons/eln/experiment_handler.py +336 -719
  8. sapiopycommons/eln/experiment_step_factory.py +476 -0
  9. sapiopycommons/eln/plate_designer.py +7 -2
  10. sapiopycommons/eln/step_creation.py +236 -0
  11. sapiopycommons/files/file_util.py +4 -4
  12. sapiopycommons/general/accession_service.py +2 -2
  13. sapiopycommons/general/aliases.py +4 -1
  14. sapiopycommons/general/data_structure_util.py +115 -0
  15. sapiopycommons/general/sapio_links.py +4 -12
  16. sapiopycommons/processtracking/custom_workflow_handler.py +2 -1
  17. sapiopycommons/recordmodel/record_handler.py +357 -27
  18. sapiopycommons/rules/eln_rule_handler.py +8 -1
  19. sapiopycommons/rules/on_save_rule_handler.py +8 -1
  20. sapiopycommons/webhook/webhook_handlers.py +3 -0
  21. sapiopycommons/webhook/webservice_handlers.py +2 -2
  22. {sapiopycommons-2025.4.25a497.dist-info → sapiopycommons-2025.4.25a498.dist-info}/METADATA +2 -2
  23. sapiopycommons-2025.4.25a498.dist-info/RECORD +67 -0
  24. sapiopycommons/ai/__init__.py +0 -0
  25. sapiopycommons/ai/api/fielddefinitions/proto/velox_field_def_pb2.py +0 -123
  26. sapiopycommons/ai/api/fielddefinitions/proto/velox_field_def_pb2.pyi +0 -598
  27. sapiopycommons/ai/api/fielddefinitions/proto/velox_field_def_pb2_grpc.py +0 -24
  28. sapiopycommons/ai/api/plan/proto/step_output_pb2.py +0 -45
  29. sapiopycommons/ai/api/plan/proto/step_output_pb2.pyi +0 -42
  30. sapiopycommons/ai/api/plan/proto/step_output_pb2_grpc.py +0 -24
  31. sapiopycommons/ai/api/plan/proto/step_pb2.py +0 -43
  32. sapiopycommons/ai/api/plan/proto/step_pb2.pyi +0 -43
  33. sapiopycommons/ai/api/plan/proto/step_pb2_grpc.py +0 -24
  34. sapiopycommons/ai/api/plan/script/proto/script_pb2.py +0 -53
  35. sapiopycommons/ai/api/plan/script/proto/script_pb2.pyi +0 -99
  36. sapiopycommons/ai/api/plan/script/proto/script_pb2_grpc.py +0 -153
  37. sapiopycommons/ai/api/plan/tool/proto/entry_pb2.py +0 -57
  38. sapiopycommons/ai/api/plan/tool/proto/entry_pb2.pyi +0 -96
  39. sapiopycommons/ai/api/plan/tool/proto/entry_pb2_grpc.py +0 -24
  40. sapiopycommons/ai/api/plan/tool/proto/tool_pb2.py +0 -73
  41. sapiopycommons/ai/api/plan/tool/proto/tool_pb2.pyi +0 -242
  42. sapiopycommons/ai/api/plan/tool/proto/tool_pb2_grpc.py +0 -154
  43. sapiopycommons/ai/api/session/proto/sapio_conn_info_pb2.py +0 -39
  44. sapiopycommons/ai/api/session/proto/sapio_conn_info_pb2.pyi +0 -32
  45. sapiopycommons/ai/api/session/proto/sapio_conn_info_pb2_grpc.py +0 -24
  46. sapiopycommons/ai/tool_of_tools.py +0 -917
  47. sapiopycommons/ai/tool_service_base.py +0 -556
  48. sapiopycommons/general/html_formatter.py +0 -456
  49. sapiopycommons-2025.4.25a497.dist-info/RECORD +0 -88
  50. {sapiopycommons-2025.4.25a497.dist-info → sapiopycommons-2025.4.25a498.dist-info}/WHEEL +0 -0
  51. {sapiopycommons-2025.4.25a497.dist-info → sapiopycommons-2025.4.25a498.dist-info}/licenses/LICENSE +0 -0
@@ -1,42 +0,0 @@
1
- from google.protobuf.internal import containers as _containers
2
- from google.protobuf import descriptor as _descriptor
3
- from google.protobuf import message as _message
4
- from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
5
-
6
- DESCRIPTOR: _descriptor.FileDescriptor
7
-
8
- class StepJsonOutputEntry(_message.Message):
9
- __slots__ = ("entry",)
10
- ENTRY_FIELD_NUMBER: _ClassVar[int]
11
- entry: str
12
- def __init__(self, entry: _Optional[str] = ...) -> None: ...
13
-
14
- class StepTextOutputEntry(_message.Message):
15
- __slots__ = ("entry",)
16
- ENTRY_FIELD_NUMBER: _ClassVar[int]
17
- entry: str
18
- def __init__(self, entry: _Optional[str] = ...) -> None: ...
19
-
20
- class StepCsvOutputEntry(_message.Message):
21
- __slots__ = ("cells",)
22
- CELLS_FIELD_NUMBER: _ClassVar[int]
23
- cells: _containers.RepeatedScalarFieldContainer[str]
24
- def __init__(self, cells: _Optional[_Iterable[str]] = ...) -> None: ...
25
-
26
- class StepBinaryOutputEntry(_message.Message):
27
- __slots__ = ("entry",)
28
- ENTRY_FIELD_NUMBER: _ClassVar[int]
29
- entry: bytes
30
- def __init__(self, entry: _Optional[bytes] = ...) -> None: ...
31
-
32
- class StepOutputEntry(_message.Message):
33
- __slots__ = ("json_output", "text_output", "csv_output", "binary_output")
34
- JSON_OUTPUT_FIELD_NUMBER: _ClassVar[int]
35
- TEXT_OUTPUT_FIELD_NUMBER: _ClassVar[int]
36
- CSV_OUTPUT_FIELD_NUMBER: _ClassVar[int]
37
- BINARY_OUTPUT_FIELD_NUMBER: _ClassVar[int]
38
- json_output: StepJsonOutputEntry
39
- text_output: StepTextOutputEntry
40
- csv_output: StepCsvOutputEntry
41
- binary_output: StepBinaryOutputEntry
42
- def __init__(self, json_output: _Optional[_Union[StepJsonOutputEntry, _Mapping]] = ..., text_output: _Optional[_Union[StepTextOutputEntry, _Mapping]] = ..., csv_output: _Optional[_Union[StepCsvOutputEntry, _Mapping]] = ..., binary_output: _Optional[_Union[StepBinaryOutputEntry, _Mapping]] = ...) -> None: ...
@@ -1,24 +0,0 @@
1
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
- """Client and server classes corresponding to protobuf-defined services."""
3
- import grpc
4
- import warnings
5
-
6
-
7
- GRPC_GENERATED_VERSION = '1.70.0'
8
- GRPC_VERSION = grpc.__version__
9
- _version_not_supported = False
10
-
11
- try:
12
- from grpc._utilities import first_version_is_lower
13
- _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
- except ImportError:
15
- _version_not_supported = True
16
-
17
- if _version_not_supported:
18
- raise RuntimeError(
19
- f'The grpc package installed is at version {GRPC_VERSION},'
20
- + f' but the generated code in sapiopycommons/ai/api/plan/proto/step_output_pb2_grpc.py depends on'
21
- + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
- + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
- + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
- )
@@ -1,43 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: sapiopycommons/ai/api/plan/proto/step.proto
5
- # Protobuf Python Version: 5.29.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 29,
16
- 0,
17
- '',
18
- 'sapiopycommons/ai/api/plan/proto/step.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
-
26
-
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+sapiopycommons/ai/api/plan/proto/step.proto\"K\n\nStepIoInfo\x12\x16\n\x0estep_io_number\x18\x01 \x01(\x05\x12\x14\n\x0c\x63ontent_type\x18\x02 \x01(\t\x12\x0f\n\x07io_name\x18\x03 \x01(\t\"l\n\rStepIoDetails\x12!\n\x0cstep_io_info\x18\x01 \x01(\x0b\x32\x0b.StepIoInfo\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0f\n\x07\x65xample\x18\x03 \x01(\t\x12\x12\n\nvalidation\x18\x04 \x01(\t\"j\n\x10StepInputDetails\x12\'\n\x0fstep_io_details\x18\x01 \x01(\x0b\x32\x0e.StepIoDetails\x12\x18\n\x10paging_supported\x18\x02 \x01(\x08\x12\x13\n\x0bmax_entries\x18\x03 \x01(\x05\"<\n\x11StepOutputDetails\x12\'\n\x0fstep_io_details\x18\x01 \x01(\x0b\x32\x0e.StepIoDetailsB\x1c\n\x18\x63om.velox.api.plan.protoP\x01\x62\x06proto3')
28
-
29
- _globals = globals()
30
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapiopycommons.ai.api.plan.proto.step_pb2', _globals)
32
- if not _descriptor._USE_C_DESCRIPTORS:
33
- _globals['DESCRIPTOR']._loaded_options = None
34
- _globals['DESCRIPTOR']._serialized_options = b'\n\030com.velox.api.plan.protoP\001'
35
- _globals['_STEPIOINFO']._serialized_start=47
36
- _globals['_STEPIOINFO']._serialized_end=122
37
- _globals['_STEPIODETAILS']._serialized_start=124
38
- _globals['_STEPIODETAILS']._serialized_end=232
39
- _globals['_STEPINPUTDETAILS']._serialized_start=234
40
- _globals['_STEPINPUTDETAILS']._serialized_end=340
41
- _globals['_STEPOUTPUTDETAILS']._serialized_start=342
42
- _globals['_STEPOUTPUTDETAILS']._serialized_end=402
43
- # @@protoc_insertion_point(module_scope)
@@ -1,43 +0,0 @@
1
- from google.protobuf import descriptor as _descriptor
2
- from google.protobuf import message as _message
3
- from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
4
-
5
- DESCRIPTOR: _descriptor.FileDescriptor
6
-
7
- class StepIoInfo(_message.Message):
8
- __slots__ = ("step_io_number", "content_type", "io_name")
9
- STEP_IO_NUMBER_FIELD_NUMBER: _ClassVar[int]
10
- CONTENT_TYPE_FIELD_NUMBER: _ClassVar[int]
11
- IO_NAME_FIELD_NUMBER: _ClassVar[int]
12
- step_io_number: int
13
- content_type: str
14
- io_name: str
15
- def __init__(self, step_io_number: _Optional[int] = ..., content_type: _Optional[str] = ..., io_name: _Optional[str] = ...) -> None: ...
16
-
17
- class StepIoDetails(_message.Message):
18
- __slots__ = ("step_io_info", "description", "example", "validation")
19
- STEP_IO_INFO_FIELD_NUMBER: _ClassVar[int]
20
- DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
21
- EXAMPLE_FIELD_NUMBER: _ClassVar[int]
22
- VALIDATION_FIELD_NUMBER: _ClassVar[int]
23
- step_io_info: StepIoInfo
24
- description: str
25
- example: str
26
- validation: str
27
- def __init__(self, step_io_info: _Optional[_Union[StepIoInfo, _Mapping]] = ..., description: _Optional[str] = ..., example: _Optional[str] = ..., validation: _Optional[str] = ...) -> None: ...
28
-
29
- class StepInputDetails(_message.Message):
30
- __slots__ = ("step_io_details", "paging_supported", "max_entries")
31
- STEP_IO_DETAILS_FIELD_NUMBER: _ClassVar[int]
32
- PAGING_SUPPORTED_FIELD_NUMBER: _ClassVar[int]
33
- MAX_ENTRIES_FIELD_NUMBER: _ClassVar[int]
34
- step_io_details: StepIoDetails
35
- paging_supported: bool
36
- max_entries: int
37
- def __init__(self, step_io_details: _Optional[_Union[StepIoDetails, _Mapping]] = ..., paging_supported: bool = ..., max_entries: _Optional[int] = ...) -> None: ...
38
-
39
- class StepOutputDetails(_message.Message):
40
- __slots__ = ("step_io_details",)
41
- STEP_IO_DETAILS_FIELD_NUMBER: _ClassVar[int]
42
- step_io_details: StepIoDetails
43
- def __init__(self, step_io_details: _Optional[_Union[StepIoDetails, _Mapping]] = ...) -> None: ...
@@ -1,24 +0,0 @@
1
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
- """Client and server classes corresponding to protobuf-defined services."""
3
- import grpc
4
- import warnings
5
-
6
-
7
- GRPC_GENERATED_VERSION = '1.70.0'
8
- GRPC_VERSION = grpc.__version__
9
- _version_not_supported = False
10
-
11
- try:
12
- from grpc._utilities import first_version_is_lower
13
- _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
- except ImportError:
15
- _version_not_supported = True
16
-
17
- if _version_not_supported:
18
- raise RuntimeError(
19
- f'The grpc package installed is at version {GRPC_VERSION},'
20
- + f' but the generated code in sapiopycommons/ai/api/plan/proto/step_pb2_grpc.py depends on'
21
- + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
- + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
- + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
- )
@@ -1,53 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: sapiopycommons/ai/api/plan/script/proto/script.proto
5
- # Protobuf Python Version: 5.29.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 29,
16
- 0,
17
- '',
18
- 'sapiopycommons/ai/api/plan/script/proto/script.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
- from sapiopycommons.ai.api.plan.tool.proto import entry_pb2 as sapiopycommons_dot_ai_dot_api_dot_plan_dot_tool_dot_proto_dot_entry__pb2
26
- from sapiopycommons.ai.api.plan.proto import step_pb2 as sapiopycommons_dot_ai_dot_api_dot_plan_dot_proto_dot_step__pb2
27
- from sapiopycommons.ai.api.session.proto import sapio_conn_info_pb2 as sapiopycommons_dot_ai_dot_api_dot_session_dot_proto_dot_sapio__conn__info__pb2
28
-
29
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import *
30
- from sapiopycommons.ai.api.plan.proto.step_pb2 import *
31
- from sapiopycommons.ai.api.session.proto.sapio_conn_info_pb2 import *
32
-
33
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4sapiopycommons/ai/api/plan/script/proto/script.proto\x1a\x31sapiopycommons/ai/api/plan/tool/proto/entry.proto\x1a+sapiopycommons/ai/api/plan/proto/step.proto\x1a\x39sapiopycommons/ai/api/session/proto/sapio_conn_info.proto\"\xf0\x02\n\x16\x43reateScriptJobRequest\x12(\n\nsapio_user\x18\x01 \x01(\x0b\x32\x14.SapioConnectionInfo\x12\x17\n\x0fscript_language\x18\x02 \x01(\t\x12\x18\n\x10plan_instance_id\x18\x03 \x01(\x03\x12\x18\n\x10step_instance_id\x18\x04 \x01(\x03\x12\x15\n\rinvocation_id\x18\x05 \x01(\x03\x12\"\n\rinput_configs\x18\x06 \x03(\x0b\x32\x0b.StepIoInfo\x12#\n\x0eoutput_configs\x18\x07 \x03(\x0b\x32\x0b.StepIoInfo\x12\x0f\n\x06script\x18\x80\x08 \x01(\t\x12\x10\n\x07timeout\x18\x81\x08 \x01(\x05\x12\x16\n\rmax_memory_mb\x18\x82\x08 \x01(\x05\x12\x1a\n\x11working_directory\x18\x83\x08 \x01(\t\x12(\n\nentry_data\x18\xff\x0f \x03(\x0b\x32\x13.StepEntryInputData\")\n\x17\x43reateScriptJobResponse\x12\x0e\n\x06job_id\x18\x01 \x01(\t\"3\n\rGetJobRequest\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\x12\n\nlog_offset\x18\x02 \x01(\x05\"w\n\x0eGetJobResponse\x12\x1a\n\x06status\x18\x01 \x01(\x0e\x32\n.JobStatus\x12\x0b\n\x03log\x18\x02 \x01(\t\x12\x11\n\texception\x18\x03 \x01(\t\x12)\n\nentry_data\x18\xff\x0f \x03(\x0b\x32\x14.StepEntryOutputData*@\n\tJobStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\r\n\tCOMPLETED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x32\x80\x01\n\rScriptService\x12\x44\n\x0f\x43reateScriptJob\x12\x17.CreateScriptJobRequest\x1a\x18.CreateScriptJobResponse\x12)\n\x06GetJob\x12\x0e.GetJobRequest\x1a\x0f.GetJobResponseB!\n\x1f\x63om.velox.api.plan.script.protoP\x00P\x01P\x02\x62\x06proto3')
34
-
35
- _globals = globals()
36
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
37
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapiopycommons.ai.api.plan.script.proto.script_pb2', _globals)
38
- if not _descriptor._USE_C_DESCRIPTORS:
39
- _globals['DESCRIPTOR']._loaded_options = None
40
- _globals['DESCRIPTOR']._serialized_options = b'\n\037com.velox.api.plan.script.proto'
41
- _globals['_JOBSTATUS']._serialized_start=799
42
- _globals['_JOBSTATUS']._serialized_end=863
43
- _globals['_CREATESCRIPTJOBREQUEST']._serialized_start=212
44
- _globals['_CREATESCRIPTJOBREQUEST']._serialized_end=580
45
- _globals['_CREATESCRIPTJOBRESPONSE']._serialized_start=582
46
- _globals['_CREATESCRIPTJOBRESPONSE']._serialized_end=623
47
- _globals['_GETJOBREQUEST']._serialized_start=625
48
- _globals['_GETJOBREQUEST']._serialized_end=676
49
- _globals['_GETJOBRESPONSE']._serialized_start=678
50
- _globals['_GETJOBRESPONSE']._serialized_end=797
51
- _globals['_SCRIPTSERVICE']._serialized_start=866
52
- _globals['_SCRIPTSERVICE']._serialized_end=994
53
- # @@protoc_insertion_point(module_scope)
@@ -1,99 +0,0 @@
1
- from sapiopycommons.ai.api.plan.tool.proto import entry_pb2 as _entry_pb2
2
- from sapiopycommons.ai.api.plan.proto import step_pb2 as _step_pb2
3
- from sapiopycommons.ai.api.session.proto import sapio_conn_info_pb2 as _sapio_conn_info_pb2
4
- from google.protobuf.internal import containers as _containers
5
- from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
6
- from google.protobuf import descriptor as _descriptor
7
- from google.protobuf import message as _message
8
- from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
9
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepCsvHeaderRow as StepCsvHeaderRow
10
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepCsvRow as StepCsvRow
11
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepCsvData as StepCsvData
12
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepJsonData as StepJsonData
13
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepTextData as StepTextData
14
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepBinaryData as StepBinaryData
15
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepImageData as StepImageData
16
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepEntryData as StepEntryData
17
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepEntryInputData as StepEntryInputData
18
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import StepEntryOutputData as StepEntryOutputData
19
- from sapiopycommons.ai.api.plan.tool.proto.entry_pb2 import DataType as DataType
20
- from sapiopycommons.ai.api.plan.proto.step_pb2 import StepIoInfo as StepIoInfo
21
- from sapiopycommons.ai.api.plan.proto.step_pb2 import StepIoDetails as StepIoDetails
22
- from sapiopycommons.ai.api.plan.proto.step_pb2 import StepInputDetails as StepInputDetails
23
- from sapiopycommons.ai.api.plan.proto.step_pb2 import StepOutputDetails as StepOutputDetails
24
- from sapiopycommons.ai.api.session.proto.sapio_conn_info_pb2 import SapioConnectionInfo as SapioConnectionInfo
25
- from sapiopycommons.ai.api.session.proto.sapio_conn_info_pb2 import SapioUserSecretType as SapioUserSecretType
26
-
27
- DESCRIPTOR: _descriptor.FileDescriptor
28
- BINARY: _entry_pb2.DataType
29
- JSON: _entry_pb2.DataType
30
- CSV: _entry_pb2.DataType
31
- TEXT: _entry_pb2.DataType
32
- IMAGE: _entry_pb2.DataType
33
- SESSION_TOKEN: _sapio_conn_info_pb2.SapioUserSecretType
34
- PASSWORD: _sapio_conn_info_pb2.SapioUserSecretType
35
-
36
- class JobStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
37
- __slots__ = ()
38
- PENDING: _ClassVar[JobStatus]
39
- RUNNING: _ClassVar[JobStatus]
40
- COMPLETED: _ClassVar[JobStatus]
41
- FAILED: _ClassVar[JobStatus]
42
- PENDING: JobStatus
43
- RUNNING: JobStatus
44
- COMPLETED: JobStatus
45
- FAILED: JobStatus
46
-
47
- class CreateScriptJobRequest(_message.Message):
48
- __slots__ = ("sapio_user", "script_language", "plan_instance_id", "step_instance_id", "invocation_id", "input_configs", "output_configs", "script", "timeout", "max_memory_mb", "working_directory", "entry_data")
49
- SAPIO_USER_FIELD_NUMBER: _ClassVar[int]
50
- SCRIPT_LANGUAGE_FIELD_NUMBER: _ClassVar[int]
51
- PLAN_INSTANCE_ID_FIELD_NUMBER: _ClassVar[int]
52
- STEP_INSTANCE_ID_FIELD_NUMBER: _ClassVar[int]
53
- INVOCATION_ID_FIELD_NUMBER: _ClassVar[int]
54
- INPUT_CONFIGS_FIELD_NUMBER: _ClassVar[int]
55
- OUTPUT_CONFIGS_FIELD_NUMBER: _ClassVar[int]
56
- SCRIPT_FIELD_NUMBER: _ClassVar[int]
57
- TIMEOUT_FIELD_NUMBER: _ClassVar[int]
58
- MAX_MEMORY_MB_FIELD_NUMBER: _ClassVar[int]
59
- WORKING_DIRECTORY_FIELD_NUMBER: _ClassVar[int]
60
- ENTRY_DATA_FIELD_NUMBER: _ClassVar[int]
61
- sapio_user: _sapio_conn_info_pb2.SapioConnectionInfo
62
- script_language: str
63
- plan_instance_id: int
64
- step_instance_id: int
65
- invocation_id: int
66
- input_configs: _containers.RepeatedCompositeFieldContainer[_step_pb2.StepIoInfo]
67
- output_configs: _containers.RepeatedCompositeFieldContainer[_step_pb2.StepIoInfo]
68
- script: str
69
- timeout: int
70
- max_memory_mb: int
71
- working_directory: str
72
- entry_data: _containers.RepeatedCompositeFieldContainer[_entry_pb2.StepEntryInputData]
73
- def __init__(self, sapio_user: _Optional[_Union[_sapio_conn_info_pb2.SapioConnectionInfo, _Mapping]] = ..., script_language: _Optional[str] = ..., plan_instance_id: _Optional[int] = ..., step_instance_id: _Optional[int] = ..., invocation_id: _Optional[int] = ..., input_configs: _Optional[_Iterable[_Union[_step_pb2.StepIoInfo, _Mapping]]] = ..., output_configs: _Optional[_Iterable[_Union[_step_pb2.StepIoInfo, _Mapping]]] = ..., script: _Optional[str] = ..., timeout: _Optional[int] = ..., max_memory_mb: _Optional[int] = ..., working_directory: _Optional[str] = ..., entry_data: _Optional[_Iterable[_Union[_entry_pb2.StepEntryInputData, _Mapping]]] = ...) -> None: ...
74
-
75
- class CreateScriptJobResponse(_message.Message):
76
- __slots__ = ("job_id",)
77
- JOB_ID_FIELD_NUMBER: _ClassVar[int]
78
- job_id: str
79
- def __init__(self, job_id: _Optional[str] = ...) -> None: ...
80
-
81
- class GetJobRequest(_message.Message):
82
- __slots__ = ("job_id", "log_offset")
83
- JOB_ID_FIELD_NUMBER: _ClassVar[int]
84
- LOG_OFFSET_FIELD_NUMBER: _ClassVar[int]
85
- job_id: str
86
- log_offset: int
87
- def __init__(self, job_id: _Optional[str] = ..., log_offset: _Optional[int] = ...) -> None: ...
88
-
89
- class GetJobResponse(_message.Message):
90
- __slots__ = ("status", "log", "exception", "entry_data")
91
- STATUS_FIELD_NUMBER: _ClassVar[int]
92
- LOG_FIELD_NUMBER: _ClassVar[int]
93
- EXCEPTION_FIELD_NUMBER: _ClassVar[int]
94
- ENTRY_DATA_FIELD_NUMBER: _ClassVar[int]
95
- status: JobStatus
96
- log: str
97
- exception: str
98
- entry_data: _containers.RepeatedCompositeFieldContainer[_entry_pb2.StepEntryOutputData]
99
- def __init__(self, status: _Optional[_Union[JobStatus, str]] = ..., log: _Optional[str] = ..., exception: _Optional[str] = ..., entry_data: _Optional[_Iterable[_Union[_entry_pb2.StepEntryOutputData, _Mapping]]] = ...) -> None: ...
@@ -1,153 +0,0 @@
1
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
- """Client and server classes corresponding to protobuf-defined services."""
3
- import grpc
4
- import warnings
5
-
6
- from sapiopycommons.ai.api.plan.script.proto import script_pb2 as sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2
7
-
8
- GRPC_GENERATED_VERSION = '1.70.0'
9
- GRPC_VERSION = grpc.__version__
10
- _version_not_supported = False
11
-
12
- try:
13
- from grpc._utilities import first_version_is_lower
14
- _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
15
- except ImportError:
16
- _version_not_supported = True
17
-
18
- if _version_not_supported:
19
- raise RuntimeError(
20
- f'The grpc package installed is at version {GRPC_VERSION},'
21
- + f' but the generated code in sapiopycommons/ai/api/plan/script/proto/script_pb2_grpc.py depends on'
22
- + f' grpcio>={GRPC_GENERATED_VERSION}.'
23
- + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
24
- + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
25
- )
26
-
27
-
28
- class ScriptServiceStub(object):
29
- """
30
- This is the generic service interface that all tools must implement. We will use hostname routing to route the request to the correct tool.
31
- The other option is for us to use gRPC metadata to route the request to the correct tool. We don't want to expose a bunch of ports and that's
32
- a pain to manage. So we will use hostname routing for now.
33
- """
34
-
35
- def __init__(self, channel):
36
- """Constructor.
37
-
38
- Args:
39
- channel: A grpc.Channel.
40
- """
41
- self.CreateScriptJob = channel.unary_unary(
42
- '/ScriptService/CreateScriptJob',
43
- request_serializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.CreateScriptJobRequest.SerializeToString,
44
- response_deserializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.CreateScriptJobResponse.FromString,
45
- _registered_method=True)
46
- self.GetJob = channel.unary_unary(
47
- '/ScriptService/GetJob',
48
- request_serializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.GetJobRequest.SerializeToString,
49
- response_deserializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.GetJobResponse.FromString,
50
- _registered_method=True)
51
-
52
-
53
- class ScriptServiceServicer(object):
54
- """
55
- This is the generic service interface that all tools must implement. We will use hostname routing to route the request to the correct tool.
56
- The other option is for us to use gRPC metadata to route the request to the correct tool. We don't want to expose a bunch of ports and that's
57
- a pain to manage. So we will use hostname routing for now.
58
- """
59
-
60
- def CreateScriptJob(self, request, context):
61
- """The main entry point for script
62
- """
63
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
64
- context.set_details('Method not implemented!')
65
- raise NotImplementedError('Method not implemented!')
66
-
67
- def GetJob(self, request, context):
68
- """Missing associated documentation comment in .proto file."""
69
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
70
- context.set_details('Method not implemented!')
71
- raise NotImplementedError('Method not implemented!')
72
-
73
-
74
- def add_ScriptServiceServicer_to_server(servicer, server):
75
- rpc_method_handlers = {
76
- 'CreateScriptJob': grpc.unary_unary_rpc_method_handler(
77
- servicer.CreateScriptJob,
78
- request_deserializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.CreateScriptJobRequest.FromString,
79
- response_serializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.CreateScriptJobResponse.SerializeToString,
80
- ),
81
- 'GetJob': grpc.unary_unary_rpc_method_handler(
82
- servicer.GetJob,
83
- request_deserializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.GetJobRequest.FromString,
84
- response_serializer=sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.GetJobResponse.SerializeToString,
85
- ),
86
- }
87
- generic_handler = grpc.method_handlers_generic_handler(
88
- 'ScriptService', rpc_method_handlers)
89
- server.add_generic_rpc_handlers((generic_handler,))
90
- server.add_registered_method_handlers('ScriptService', rpc_method_handlers)
91
-
92
-
93
- # This class is part of an EXPERIMENTAL API.
94
- class ScriptService(object):
95
- """
96
- This is the generic service interface that all tools must implement. We will use hostname routing to route the request to the correct tool.
97
- The other option is for us to use gRPC metadata to route the request to the correct tool. We don't want to expose a bunch of ports and that's
98
- a pain to manage. So we will use hostname routing for now.
99
- """
100
-
101
- @staticmethod
102
- def CreateScriptJob(request,
103
- target,
104
- options=(),
105
- channel_credentials=None,
106
- call_credentials=None,
107
- insecure=False,
108
- compression=None,
109
- wait_for_ready=None,
110
- timeout=None,
111
- metadata=None):
112
- return grpc.experimental.unary_unary(
113
- request,
114
- target,
115
- '/ScriptService/CreateScriptJob',
116
- sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.CreateScriptJobRequest.SerializeToString,
117
- sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.CreateScriptJobResponse.FromString,
118
- options,
119
- channel_credentials,
120
- insecure,
121
- call_credentials,
122
- compression,
123
- wait_for_ready,
124
- timeout,
125
- metadata,
126
- _registered_method=True)
127
-
128
- @staticmethod
129
- def GetJob(request,
130
- target,
131
- options=(),
132
- channel_credentials=None,
133
- call_credentials=None,
134
- insecure=False,
135
- compression=None,
136
- wait_for_ready=None,
137
- timeout=None,
138
- metadata=None):
139
- return grpc.experimental.unary_unary(
140
- request,
141
- target,
142
- '/ScriptService/GetJob',
143
- sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.GetJobRequest.SerializeToString,
144
- sapiopycommons_dot_ai_dot_api_dot_plan_dot_script_dot_proto_dot_script__pb2.GetJobResponse.FromString,
145
- options,
146
- channel_credentials,
147
- insecure,
148
- call_credentials,
149
- compression,
150
- wait_for_ready,
151
- timeout,
152
- metadata,
153
- _registered_method=True)
@@ -1,57 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: sapiopycommons/ai/api/plan/tool/proto/entry.proto
5
- # Protobuf Python Version: 5.29.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 5,
15
- 29,
16
- 0,
17
- '',
18
- 'sapiopycommons/ai/api/plan/tool/proto/entry.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
-
26
-
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1sapiopycommons/ai/api/plan/tool/proto/entry.proto\"!\n\x10StepCsvHeaderRow\x12\r\n\x05\x63\x65lls\x18\x01 \x03(\t\"\x1b\n\nStepCsvRow\x12\r\n\x05\x63\x65lls\x18\x01 \x03(\t\"N\n\x0bStepCsvData\x12!\n\x06header\x18\x0e \x01(\x0b\x32\x11.StepCsvHeaderRow\x12\x1c\n\x07\x65ntries\x18\x0f \x03(\x0b\x32\x0b.StepCsvRow\"\x1f\n\x0cStepJsonData\x12\x0f\n\x07\x65ntries\x18\x0f \x03(\t\"\x1f\n\x0cStepTextData\x12\x0f\n\x07\x65ntries\x18\x0f \x03(\t\"!\n\x0eStepBinaryData\x12\x0f\n\x07\x65ntries\x18\x0f \x03(\x0c\"6\n\rStepImageData\x12\x14\n\x0cimage_format\x18\x01 \x01(\t\x12\x0f\n\x07\x65ntries\x18\x0f \x03(\x0c\"\xf1\x01\n\rStepEntryData\x12\x1b\n\x08\x64\x61taType\x18\x01 \x01(\x0e\x32\t.DataType\x12\'\n\x0b\x62inary_data\x18\xff\x0f \x01(\x0b\x32\x0f.StepBinaryDataH\x00\x12!\n\x08\x63sv_data\x18\xfe\x0f \x01(\x0b\x32\x0c.StepCsvDataH\x00\x12#\n\tjson_data\x18\xfd\x0f \x01(\x0b\x32\r.StepJsonDataH\x00\x12#\n\ttext_data\x18\xfc\x0f \x01(\x0b\x32\r.StepTextDataH\x00\x12%\n\nimage_data\x18\xfb\x0f \x01(\x0b\x32\x0e.StepImageDataH\x00\x42\x06\n\x04\x64\x61ta\"L\n\x12StepEntryInputData\x12\x12\n\nis_partial\x18\x02 \x01(\x08\x12\"\n\nentry_data\x18\x01 \x01(\x0b\x32\x0e.StepEntryData\"9\n\x13StepEntryOutputData\x12\"\n\nentry_data\x18\x01 \x01(\x0b\x32\x0e.StepEntryData*>\n\x08\x44\x61taType\x12\n\n\x06\x42INARY\x10\x00\x12\x08\n\x04JSON\x10\x01\x12\x07\n\x03\x43SV\x10\x02\x12\x08\n\x04TEXT\x10\x03\x12\t\n\x05IMAGE\x10\x04\x42!\n\x1d\x63om.velox.api.plan.tool.protoP\x01\x62\x06proto3')
28
-
29
- _globals = globals()
30
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapiopycommons.ai.api.plan.tool.proto.entry_pb2', _globals)
32
- if not _descriptor._USE_C_DESCRIPTORS:
33
- _globals['DESCRIPTOR']._loaded_options = None
34
- _globals['DESCRIPTOR']._serialized_options = b'\n\035com.velox.api.plan.tool.protoP\001'
35
- _globals['_DATATYPE']._serialized_start=735
36
- _globals['_DATATYPE']._serialized_end=797
37
- _globals['_STEPCSVHEADERROW']._serialized_start=53
38
- _globals['_STEPCSVHEADERROW']._serialized_end=86
39
- _globals['_STEPCSVROW']._serialized_start=88
40
- _globals['_STEPCSVROW']._serialized_end=115
41
- _globals['_STEPCSVDATA']._serialized_start=117
42
- _globals['_STEPCSVDATA']._serialized_end=195
43
- _globals['_STEPJSONDATA']._serialized_start=197
44
- _globals['_STEPJSONDATA']._serialized_end=228
45
- _globals['_STEPTEXTDATA']._serialized_start=230
46
- _globals['_STEPTEXTDATA']._serialized_end=261
47
- _globals['_STEPBINARYDATA']._serialized_start=263
48
- _globals['_STEPBINARYDATA']._serialized_end=296
49
- _globals['_STEPIMAGEDATA']._serialized_start=298
50
- _globals['_STEPIMAGEDATA']._serialized_end=352
51
- _globals['_STEPENTRYDATA']._serialized_start=355
52
- _globals['_STEPENTRYDATA']._serialized_end=596
53
- _globals['_STEPENTRYINPUTDATA']._serialized_start=598
54
- _globals['_STEPENTRYINPUTDATA']._serialized_end=674
55
- _globals['_STEPENTRYOUTPUTDATA']._serialized_start=676
56
- _globals['_STEPENTRYOUTPUTDATA']._serialized_end=733
57
- # @@protoc_insertion_point(module_scope)
@@ -1,96 +0,0 @@
1
- from google.protobuf.internal import containers as _containers
2
- from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
- from google.protobuf import descriptor as _descriptor
4
- from google.protobuf import message as _message
5
- from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
6
-
7
- DESCRIPTOR: _descriptor.FileDescriptor
8
-
9
- class DataType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
10
- __slots__ = ()
11
- BINARY: _ClassVar[DataType]
12
- JSON: _ClassVar[DataType]
13
- CSV: _ClassVar[DataType]
14
- TEXT: _ClassVar[DataType]
15
- IMAGE: _ClassVar[DataType]
16
- BINARY: DataType
17
- JSON: DataType
18
- CSV: DataType
19
- TEXT: DataType
20
- IMAGE: DataType
21
-
22
- class StepCsvHeaderRow(_message.Message):
23
- __slots__ = ("cells",)
24
- CELLS_FIELD_NUMBER: _ClassVar[int]
25
- cells: _containers.RepeatedScalarFieldContainer[str]
26
- def __init__(self, cells: _Optional[_Iterable[str]] = ...) -> None: ...
27
-
28
- class StepCsvRow(_message.Message):
29
- __slots__ = ("cells",)
30
- CELLS_FIELD_NUMBER: _ClassVar[int]
31
- cells: _containers.RepeatedScalarFieldContainer[str]
32
- def __init__(self, cells: _Optional[_Iterable[str]] = ...) -> None: ...
33
-
34
- class StepCsvData(_message.Message):
35
- __slots__ = ("header", "entries")
36
- HEADER_FIELD_NUMBER: _ClassVar[int]
37
- ENTRIES_FIELD_NUMBER: _ClassVar[int]
38
- header: StepCsvHeaderRow
39
- entries: _containers.RepeatedCompositeFieldContainer[StepCsvRow]
40
- def __init__(self, header: _Optional[_Union[StepCsvHeaderRow, _Mapping]] = ..., entries: _Optional[_Iterable[_Union[StepCsvRow, _Mapping]]] = ...) -> None: ...
41
-
42
- class StepJsonData(_message.Message):
43
- __slots__ = ("entries",)
44
- ENTRIES_FIELD_NUMBER: _ClassVar[int]
45
- entries: _containers.RepeatedScalarFieldContainer[str]
46
- def __init__(self, entries: _Optional[_Iterable[str]] = ...) -> None: ...
47
-
48
- class StepTextData(_message.Message):
49
- __slots__ = ("entries",)
50
- ENTRIES_FIELD_NUMBER: _ClassVar[int]
51
- entries: _containers.RepeatedScalarFieldContainer[str]
52
- def __init__(self, entries: _Optional[_Iterable[str]] = ...) -> None: ...
53
-
54
- class StepBinaryData(_message.Message):
55
- __slots__ = ("entries",)
56
- ENTRIES_FIELD_NUMBER: _ClassVar[int]
57
- entries: _containers.RepeatedScalarFieldContainer[bytes]
58
- def __init__(self, entries: _Optional[_Iterable[bytes]] = ...) -> None: ...
59
-
60
- class StepImageData(_message.Message):
61
- __slots__ = ("image_format", "entries")
62
- IMAGE_FORMAT_FIELD_NUMBER: _ClassVar[int]
63
- ENTRIES_FIELD_NUMBER: _ClassVar[int]
64
- image_format: str
65
- entries: _containers.RepeatedScalarFieldContainer[bytes]
66
- def __init__(self, image_format: _Optional[str] = ..., entries: _Optional[_Iterable[bytes]] = ...) -> None: ...
67
-
68
- class StepEntryData(_message.Message):
69
- __slots__ = ("dataType", "binary_data", "csv_data", "json_data", "text_data", "image_data")
70
- DATATYPE_FIELD_NUMBER: _ClassVar[int]
71
- BINARY_DATA_FIELD_NUMBER: _ClassVar[int]
72
- CSV_DATA_FIELD_NUMBER: _ClassVar[int]
73
- JSON_DATA_FIELD_NUMBER: _ClassVar[int]
74
- TEXT_DATA_FIELD_NUMBER: _ClassVar[int]
75
- IMAGE_DATA_FIELD_NUMBER: _ClassVar[int]
76
- dataType: DataType
77
- binary_data: StepBinaryData
78
- csv_data: StepCsvData
79
- json_data: StepJsonData
80
- text_data: StepTextData
81
- image_data: StepImageData
82
- def __init__(self, dataType: _Optional[_Union[DataType, str]] = ..., binary_data: _Optional[_Union[StepBinaryData, _Mapping]] = ..., csv_data: _Optional[_Union[StepCsvData, _Mapping]] = ..., json_data: _Optional[_Union[StepJsonData, _Mapping]] = ..., text_data: _Optional[_Union[StepTextData, _Mapping]] = ..., image_data: _Optional[_Union[StepImageData, _Mapping]] = ...) -> None: ...
83
-
84
- class StepEntryInputData(_message.Message):
85
- __slots__ = ("is_partial", "entry_data")
86
- IS_PARTIAL_FIELD_NUMBER: _ClassVar[int]
87
- ENTRY_DATA_FIELD_NUMBER: _ClassVar[int]
88
- is_partial: bool
89
- entry_data: StepEntryData
90
- def __init__(self, is_partial: bool = ..., entry_data: _Optional[_Union[StepEntryData, _Mapping]] = ...) -> None: ...
91
-
92
- class StepEntryOutputData(_message.Message):
93
- __slots__ = ("entry_data",)
94
- ENTRY_DATA_FIELD_NUMBER: _ClassVar[int]
95
- entry_data: StepEntryData
96
- def __init__(self, entry_data: _Optional[_Union[StepEntryData, _Mapping]] = ...) -> None: ...