sapiopycommons 2025.9.10a745__py3-none-any.whl → 2025.9.11a747__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 (52) hide show
  1. sapiopycommons/ai/tool_of_tools.py +917 -0
  2. sapiopycommons/callbacks/callback_util.py +26 -16
  3. sapiopycommons/eln/experiment_handler.py +12 -5
  4. sapiopycommons/files/assay_plate_reader.py +93 -0
  5. sapiopycommons/files/file_text_converter.py +207 -0
  6. sapiopycommons/flowcyto/flow_cyto.py +2 -24
  7. sapiopycommons/general/accession_service.py +2 -28
  8. sapiopycommons/multimodal/multimodal.py +2 -24
  9. sapiopycommons/recordmodel/record_handler.py +4 -0
  10. sapiopycommons/rules/eln_rule_handler.py +3 -0
  11. sapiopycommons/rules/on_save_rule_handler.py +3 -0
  12. sapiopycommons/webhook/webservice_handlers.py +1 -1
  13. {sapiopycommons-2025.9.10a745.dist-info → sapiopycommons-2025.9.11a747.dist-info}/METADATA +2 -2
  14. {sapiopycommons-2025.9.10a745.dist-info → sapiopycommons-2025.9.11a747.dist-info}/RECORD +16 -49
  15. sapiopycommons/ai/converter_service_base.py +0 -132
  16. sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.py +0 -43
  17. sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.pyi +0 -31
  18. sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2_grpc.py +0 -24
  19. sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.py +0 -123
  20. sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.pyi +0 -598
  21. sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2_grpc.py +0 -24
  22. sapiopycommons/ai/protoapi/plan/converter/converter_pb2.py +0 -51
  23. sapiopycommons/ai/protoapi/plan/converter/converter_pb2.pyi +0 -63
  24. sapiopycommons/ai/protoapi/plan/converter/converter_pb2_grpc.py +0 -149
  25. sapiopycommons/ai/protoapi/plan/item/item_container_pb2.py +0 -55
  26. sapiopycommons/ai/protoapi/plan/item/item_container_pb2.pyi +0 -90
  27. sapiopycommons/ai/protoapi/plan/item/item_container_pb2_grpc.py +0 -24
  28. sapiopycommons/ai/protoapi/plan/script/script_pb2.py +0 -59
  29. sapiopycommons/ai/protoapi/plan/script/script_pb2.pyi +0 -102
  30. sapiopycommons/ai/protoapi/plan/script/script_pb2_grpc.py +0 -153
  31. sapiopycommons/ai/protoapi/plan/step_output_pb2.py +0 -45
  32. sapiopycommons/ai/protoapi/plan/step_output_pb2.pyi +0 -42
  33. sapiopycommons/ai/protoapi/plan/step_output_pb2_grpc.py +0 -24
  34. sapiopycommons/ai/protoapi/plan/step_pb2.py +0 -43
  35. sapiopycommons/ai/protoapi/plan/step_pb2.pyi +0 -43
  36. sapiopycommons/ai/protoapi/plan/step_pb2_grpc.py +0 -24
  37. sapiopycommons/ai/protoapi/plan/tool/entry_pb2.py +0 -41
  38. sapiopycommons/ai/protoapi/plan/tool/entry_pb2.pyi +0 -35
  39. sapiopycommons/ai/protoapi/plan/tool/entry_pb2_grpc.py +0 -24
  40. sapiopycommons/ai/protoapi/plan/tool/tool_pb2.py +0 -75
  41. sapiopycommons/ai/protoapi/plan/tool/tool_pb2.pyi +0 -237
  42. sapiopycommons/ai/protoapi/plan/tool/tool_pb2_grpc.py +0 -154
  43. sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.py +0 -39
  44. sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.pyi +0 -32
  45. sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2_grpc.py +0 -24
  46. sapiopycommons/ai/protobuf_utils.py +0 -504
  47. sapiopycommons/ai/server.py +0 -142
  48. sapiopycommons/ai/test_client.py +0 -367
  49. sapiopycommons/ai/tool_service_base.py +0 -1043
  50. sapiopycommons/files/temp_files.py +0 -51
  51. {sapiopycommons-2025.9.10a745.dist-info → sapiopycommons-2025.9.11a747.dist-info}/WHEEL +0 -0
  52. {sapiopycommons-2025.9.10a745.dist-info → sapiopycommons-2025.9.11a747.dist-info}/licenses/LICENSE +0 -0
@@ -1,51 +0,0 @@
1
- import os
2
- import shutil
3
- import tempfile
4
-
5
-
6
- # FR-47422: Created class.
7
- class TempFileHandler:
8
- """
9
- A utility class to manage temporary files and directories.
10
- """
11
- directories: list[str]
12
- files: list[str]
13
-
14
- def __init__(self) -> None:
15
- self.directories = []
16
- self.files = []
17
-
18
- def create_temp_directory(self) -> str:
19
- """
20
- :return: The path to a newly created temporary directory.
21
- """
22
- directory: str = tempfile.mkdtemp()
23
- self.directories.append(directory)
24
- return directory
25
-
26
- def create_temp_file(self, data: str | bytes, suffix: str = "") -> str:
27
- """
28
- :param data: The data to write to the temporary file.
29
- :param suffix: An optional suffix for the temporary file.
30
- :return: The path to a newly created temporary file containing the provided data.
31
- """
32
- mode: str = 'w' if isinstance(data, str) else 'wb'
33
- with tempfile.NamedTemporaryFile(mode=mode, suffix=suffix, delete=False) as tmp_file:
34
- tmp_file.write(data)
35
- file_path: str = tmp_file.name
36
- self.files.append(file_path)
37
- return file_path
38
-
39
- def cleanup(self) -> None:
40
- """
41
- Delete all temporary files and directories created by this handler.
42
- """
43
- for directory in self.directories:
44
- if os.path.exists(directory):
45
- shutil.rmtree(directory)
46
- self.directories.clear()
47
-
48
- for file_path in self.files:
49
- if os.path.exists(file_path):
50
- os.remove(file_path)
51
- self.files.clear()