sapiopycommons 2025.6.19a564__py3-none-any.whl → 2026.1.22a847__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.
- sapiopycommons/ai/__init__.py +0 -0
- sapiopycommons/ai/agent_service_base.py +2051 -0
- sapiopycommons/ai/converter_service_base.py +163 -0
- sapiopycommons/ai/external_credentials.py +131 -0
- sapiopycommons/ai/protoapi/agent/agent_pb2.py +87 -0
- sapiopycommons/ai/protoapi/agent/agent_pb2.pyi +282 -0
- sapiopycommons/ai/protoapi/agent/agent_pb2_grpc.py +154 -0
- sapiopycommons/ai/protoapi/agent/entry_pb2.py +49 -0
- sapiopycommons/ai/protoapi/agent/entry_pb2.pyi +40 -0
- sapiopycommons/ai/protoapi/agent/entry_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/agent/item/item_container_pb2.py +61 -0
- sapiopycommons/ai/protoapi/agent/item/item_container_pb2.pyi +181 -0
- sapiopycommons/ai/protoapi/agent/item/item_container_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2.py +41 -0
- sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2.pyi +36 -0
- sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.py +51 -0
- sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.pyi +59 -0
- sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.py +123 -0
- sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.pyi +599 -0
- sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2.py +59 -0
- sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2.pyi +68 -0
- sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2_grpc.py +149 -0
- sapiopycommons/ai/protoapi/pipeline/script/script_pb2.py +69 -0
- sapiopycommons/ai/protoapi/pipeline/script/script_pb2.pyi +109 -0
- sapiopycommons/ai/protoapi/pipeline/script/script_pb2_grpc.py +153 -0
- sapiopycommons/ai/protoapi/pipeline/step_output_pb2.py +49 -0
- sapiopycommons/ai/protoapi/pipeline/step_output_pb2.pyi +56 -0
- sapiopycommons/ai/protoapi/pipeline/step_output_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/pipeline/step_pb2.py +43 -0
- sapiopycommons/ai/protoapi/pipeline/step_pb2.pyi +44 -0
- sapiopycommons/ai/protoapi/pipeline/step_pb2_grpc.py +24 -0
- sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.py +39 -0
- sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.pyi +33 -0
- sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2_grpc.py +24 -0
- sapiopycommons/ai/protobuf_utils.py +583 -0
- sapiopycommons/ai/request_validation.py +561 -0
- sapiopycommons/ai/server.py +152 -0
- sapiopycommons/ai/test_client.py +534 -0
- sapiopycommons/callbacks/callback_util.py +53 -24
- sapiopycommons/eln/experiment_handler.py +12 -5
- sapiopycommons/files/assay_plate_reader.py +93 -0
- sapiopycommons/files/file_text_converter.py +207 -0
- sapiopycommons/files/file_util.py +128 -1
- sapiopycommons/files/temp_files.py +82 -0
- sapiopycommons/flowcyto/flow_cyto.py +2 -24
- sapiopycommons/general/accession_service.py +2 -28
- sapiopycommons/general/aliases.py +4 -1
- sapiopycommons/general/macros.py +172 -0
- sapiopycommons/general/time_util.py +199 -4
- sapiopycommons/multimodal/multimodal.py +2 -24
- sapiopycommons/recordmodel/record_handler.py +200 -111
- sapiopycommons/rules/eln_rule_handler.py +3 -0
- sapiopycommons/rules/on_save_rule_handler.py +3 -0
- sapiopycommons/webhook/webhook_handlers.py +6 -4
- sapiopycommons/webhook/webservice_handlers.py +1 -1
- {sapiopycommons-2025.6.19a564.dist-info → sapiopycommons-2026.1.22a847.dist-info}/METADATA +2 -2
- sapiopycommons-2026.1.22a847.dist-info/RECORD +113 -0
- sapiopycommons-2025.6.19a564.dist-info/RECORD +0 -68
- {sapiopycommons-2025.6.19a564.dist-info → sapiopycommons-2026.1.22a847.dist-info}/WHEEL +0 -0
- {sapiopycommons-2025.6.19a564.dist-info → sapiopycommons-2026.1.22a847.dist-info}/licenses/LICENSE +0 -0
|
@@ -184,4 +184,7 @@ class ElnRuleHandler:
|
|
|
184
184
|
instead of a model wrapper, then the returned records will be PyRecordModels instead of WrappedRecordModels.
|
|
185
185
|
"""
|
|
186
186
|
dt: str = AliasUtil.to_data_type_name(wrapper_type)
|
|
187
|
+
# PR-47792: Set the wrapper_type to None if a str was provided instead of a type[WrappedType].
|
|
188
|
+
if isinstance(wrapper_type, str):
|
|
189
|
+
wrapper_type = None
|
|
187
190
|
return self._rec_handler.wrap_models(self.get_records(dt, entry), wrapper_type)
|
|
@@ -180,4 +180,7 @@ class OnSaveRuleHandler:
|
|
|
180
180
|
instead of a model wrapper, then the returned records will be PyRecordModels instead of WrappedRecordModels.
|
|
181
181
|
"""
|
|
182
182
|
dt: str = AliasUtil.to_data_type_name(wrapper_type)
|
|
183
|
+
# PR-47792: Set the wrapper_type to None if a str was provided instead of a type[WrappedType].
|
|
184
|
+
if isinstance(wrapper_type, str):
|
|
185
|
+
wrapper_type = None
|
|
183
186
|
return self._rec_handler.wrap_models(self.get_records(dt, record_id), wrapper_type)
|
|
@@ -7,7 +7,6 @@ import traceback
|
|
|
7
7
|
from abc import abstractmethod
|
|
8
8
|
from logging import Logger
|
|
9
9
|
|
|
10
|
-
from sapiopylib.rest import UserManagerService, GroupManagerService, MessengerService
|
|
11
10
|
from sapiopylib.rest.AccessionService import AccessionManager
|
|
12
11
|
from sapiopylib.rest.CustomReportService import CustomReportManager
|
|
13
12
|
from sapiopylib.rest.DashboardManager import DashboardManager
|
|
@@ -16,10 +15,13 @@ from sapiopylib.rest.DataRecordManagerService import DataRecordManager
|
|
|
16
15
|
from sapiopylib.rest.DataService import DataManager
|
|
17
16
|
from sapiopylib.rest.DataTypeService import DataTypeManager
|
|
18
17
|
from sapiopylib.rest.ELNService import ElnManager
|
|
18
|
+
from sapiopylib.rest.GroupManagerService import VeloxGroupManager
|
|
19
|
+
from sapiopylib.rest.MessengerService import SapioMessenger
|
|
19
20
|
from sapiopylib.rest.PicklistService import PickListManager
|
|
20
21
|
from sapiopylib.rest.ReportManager import ReportManager
|
|
21
22
|
from sapiopylib.rest.SesssionManagerService import SessionManager
|
|
22
23
|
from sapiopylib.rest.User import SapioUser
|
|
24
|
+
from sapiopylib.rest.UserManagerService import VeloxUserManager
|
|
23
25
|
from sapiopylib.rest.WebhookService import AbstractWebhookHandler
|
|
24
26
|
from sapiopylib.rest.pojo.Message import VeloxLogMessage, VeloxLogLevel
|
|
25
27
|
from sapiopylib.rest.pojo.webhook.ClientCallbackRequest import PopupType
|
|
@@ -85,9 +87,9 @@ class CommonsWebhookHandler(AbstractWebhookHandler):
|
|
|
85
87
|
"""A class for making requests to the data type webservice endpoints."""
|
|
86
88
|
eln_man: ElnManager
|
|
87
89
|
"""A class for making requests to the ELN management webservice endpoints."""
|
|
88
|
-
group_man:
|
|
90
|
+
group_man: VeloxGroupManager
|
|
89
91
|
"""A class for making requests to the group management webservice endpoints."""
|
|
90
|
-
messenger:
|
|
92
|
+
messenger: SapioMessenger
|
|
91
93
|
"""A class for making requests to the message webservice endpoints."""
|
|
92
94
|
list_man: PickListManager
|
|
93
95
|
"""A class for making requests to the pick list webservice endpoints."""
|
|
@@ -95,7 +97,7 @@ class CommonsWebhookHandler(AbstractWebhookHandler):
|
|
|
95
97
|
"""A class for making requests to the report webservice endpoints."""
|
|
96
98
|
session_man: SessionManager
|
|
97
99
|
"""A class for making requests to the session management webservice endpoints."""
|
|
98
|
-
user_man:
|
|
100
|
+
user_man: VeloxUserManager
|
|
99
101
|
"""A class for making requests to the user management webservice endpoints."""
|
|
100
102
|
|
|
101
103
|
rec_man: RecordModelManager
|
|
@@ -140,7 +140,7 @@ class AbstractWebserviceHandler(AbstractWebhookHandler):
|
|
|
140
140
|
# Get the login credentials from the headers.
|
|
141
141
|
auth: str = headers.get("Authorization")
|
|
142
142
|
if auth and auth.startswith("Basic "):
|
|
143
|
-
credentials: list[str] = b64decode(auth.split("Basic ")[1]).decode().split(":")
|
|
143
|
+
credentials: list[str] = b64decode(auth.split("Basic ")[1]).decode().split(":", 1)
|
|
144
144
|
user = self.basic_auth(url, credentials[0], credentials[1])
|
|
145
145
|
elif auth and auth.startswith("Bearer "):
|
|
146
146
|
user = self.bearer_token_auth(url, auth.split("Bearer ")[1])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: sapiopycommons
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2026.1.22a847
|
|
4
4
|
Summary: Official Sapio Python API Utilities Package
|
|
5
5
|
Project-URL: Homepage, https://github.com/sapiosciences
|
|
6
6
|
Author-email: Jonathan Steck <jsteck@sapiosciences.com>, Yechen Qiao <yqiao@sapiosciences.com>
|
|
@@ -17,7 +17,7 @@ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
|
17
17
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
18
18
|
Requires-Python: >=3.10
|
|
19
19
|
Requires-Dist: databind>=4.5
|
|
20
|
-
Requires-Dist: sapiopylib>=2025.
|
|
20
|
+
Requires-Dist: sapiopylib>=2025.10.7.295
|
|
21
21
|
Description-Content-Type: text/markdown
|
|
22
22
|
|
|
23
23
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
sapiopycommons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
sapiopycommons/ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
sapiopycommons/ai/agent_service_base.py,sha256=EtImPyKZuRtHn2w0XjiqytHJPzDWOty6mY-2qciRvXk,108986
|
|
4
|
+
sapiopycommons/ai/converter_service_base.py,sha256=NjMCrpyoEh2TYrP9zN3SY0XtOir3IGWGPjU_snr6Usw,6360
|
|
5
|
+
sapiopycommons/ai/external_credentials.py,sha256=DKg3EMGrm6XSt09WbHWy3UHUphuakItiFeToluGSxlM,4427
|
|
6
|
+
sapiopycommons/ai/protobuf_utils.py,sha256=PeXpjfurg8EvvgM_jNLp0F1zAlV7cad8x0zewqi5Bhw,28235
|
|
7
|
+
sapiopycommons/ai/request_validation.py,sha256=fW3I_G6PUrJhpalQEfI1T5nAqcNUYYOVf_oJnlROrNM,30430
|
|
8
|
+
sapiopycommons/ai/server.py,sha256=VgHNvY2751qDZ8t7JTS67uxSnzOcpKdKc2Dick1p22g,6393
|
|
9
|
+
sapiopycommons/ai/test_client.py,sha256=hExCLASmqm59nTnhph9OIQpTSbde14cH4Sayik3Enpk,26350
|
|
10
|
+
sapiopycommons/ai/protoapi/agent/agent_pb2.py,sha256=dKKB52qOf7lCZWt9kAgqFu8bdhemMwGid8u0aC_Rb2s,10489
|
|
11
|
+
sapiopycommons/ai/protoapi/agent/agent_pb2.pyi,sha256=EkN98-gIGCbj4OuPOZMjZWDi-hhAgtThR0hR6Mk-FoM,20222
|
|
12
|
+
sapiopycommons/ai/protoapi/agent/agent_pb2_grpc.py,sha256=q4sac85YnJG6vjqNXKdNji3FaLSu0lEBnjKMKRBJm90,6851
|
|
13
|
+
sapiopycommons/ai/protoapi/agent/entry_pb2.py,sha256=EDFp_UNaWw_RnwrrEfACFRXUEUy18OaxPDB8ljWPKBk,3082
|
|
14
|
+
sapiopycommons/ai/protoapi/agent/entry_pb2.pyi,sha256=DMb3vd-O1cqo7Q_2ehx6ubFEa1SR_ho_qBrEvaIQTbk,2745
|
|
15
|
+
sapiopycommons/ai/protoapi/agent/entry_pb2_grpc.py,sha256=hiZtUu9Ij-zQoKeMGKt15-cRlxThdrfe8z5qxoKYKfk,918
|
|
16
|
+
sapiopycommons/ai/protoapi/agent/item/item_container_pb2.py,sha256=oBHslKp2eni0wicsuk5BfnWPLp6g5FzwR0CGBqfyqDQ,4830
|
|
17
|
+
sapiopycommons/ai/protoapi/agent/item/item_container_pb2.pyi,sha256=6JQ_i6DPs0lSTTSl8qImNsBg6aEMNjbyUUh6ARwz6YI,11626
|
|
18
|
+
sapiopycommons/ai/protoapi/agent/item/item_container_pb2_grpc.py,sha256=Uj5rcKQuXFU_dn1vnJEEblkK_kdh30BXQeBY0JgAkuI,932
|
|
19
|
+
sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2.py,sha256=vJRtIbxRm-CM9WTfFlcn4V5oDCQeK1hRoVS9WwdYbjU,2481
|
|
20
|
+
sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2.pyi,sha256=3_vdkYM56c31cCVo6VvXDV9F4ENN7Mq20PAPHOHvHZw,1685
|
|
21
|
+
sapiopycommons/ai/protoapi/externalcredentials/external_credentials_pb2_grpc.py,sha256=mZLcay2VLNCuabBp8k2Sw3d6FcHXWFzze31Q3O0l7es,947
|
|
22
|
+
sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.py,sha256=Oral3k23576HIKu6mWIcZOuk87cvbpmRmiZJcU6kG1o,3344
|
|
23
|
+
sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2.pyi,sha256=tJXn_hO7Xii5ZQPCGvAYkrqiqnqNQxMEdKC6Wm_rmJE,2812
|
|
24
|
+
sapiopycommons/ai/protoapi/fielddefinitions/fields_pb2_grpc.py,sha256=scBvKFAGDWSAPJ4cnJCpvBNbROMjYGWF8y6gugOjudI,930
|
|
25
|
+
sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.py,sha256=CE4cM7UlT6fbTw0JafKiAH2jdEnmcuAzKYoF-3oYGcw,20864
|
|
26
|
+
sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2.pyi,sha256=h24h8dh6d4dsw0Bc9Oyfffdxv73aljfgt72ZJIXwxBw,34055
|
|
27
|
+
sapiopycommons/ai/protoapi/fielddefinitions/velox_field_def_pb2_grpc.py,sha256=hcd7T-_SbDWGG22-GigTihxCAPQ_hryCcX_hqFFF-KE,939
|
|
28
|
+
sapiopycommons/ai/protoapi/pipeline/step_output_pb2.py,sha256=nntHXqMbbgqhm9Ic17FMaIoR7CGIrzbzxknIAkTtr9w,3293
|
|
29
|
+
sapiopycommons/ai/protoapi/pipeline/step_output_pb2.pyi,sha256=Md2SaMnflALL_TnoAkRWrAsAYj0hMg-Yi76F0NfFnQg,3016
|
|
30
|
+
sapiopycommons/ai/protoapi/pipeline/step_output_pb2_grpc.py,sha256=7fWSkfpljHFr1RqFMuyIgQ87rlRBGluWLs02Bg_pJnc,927
|
|
31
|
+
sapiopycommons/ai/protoapi/pipeline/step_pb2.py,sha256=c5g5h4LIX1FKjVzoNZKku-jclnHhTCa64LBDLYd-BKA,2457
|
|
32
|
+
sapiopycommons/ai/protoapi/pipeline/step_pb2.pyi,sha256=tGFKu574nSLRURNhbxFcbajY66G-wfKIJm5D_dy58uk,2089
|
|
33
|
+
sapiopycommons/ai/protoapi/pipeline/step_pb2_grpc.py,sha256=mSdi68T_lXIxsaD23hIYaNk4TzxvNRAfD31xSLHX8lY,920
|
|
34
|
+
sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2.py,sha256=4FfhtxyGMUyDUZO_GXQzmjsJU47z775XAprgTMjLHYk,4590
|
|
35
|
+
sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2.pyi,sha256=pe-cq7ITHC0egMs8Zz5dp2IPtC_QG_Hlt0FwTtqIFZs,4641
|
|
36
|
+
sapiopycommons/ai/protoapi/pipeline/converter/converter_pb2_grpc.py,sha256=lhmz45-cy9mJnRVZAD0T7s4pKmGQfw_Hg98DbVq9qHE,6507
|
|
37
|
+
sapiopycommons/ai/protoapi/pipeline/script/script_pb2.py,sha256=Rkhmbfm4jFqGU5v03iIWT8SBJ-9uLBYGIdDAkPMlh5A,6510
|
|
38
|
+
sapiopycommons/ai/protoapi/pipeline/script/script_pb2.pyi,sha256=7zgxMpp8KBzDTABrrX5roKhfoPda7v93lMLzIYxR4F8,6886
|
|
39
|
+
sapiopycommons/ai/protoapi/pipeline/script/script_pb2_grpc.py,sha256=o-uJ2sQ4HBrIJhPo0tU8qBvL8m3_xVqLePut4-iMa5A,6923
|
|
40
|
+
sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.py,sha256=HY0c7dvR6MpzDC43PTR6C3COYV2F_EnH1GuU2VXBOCs,2094
|
|
41
|
+
sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2.pyi,sha256=IyvYgtz-APrZjPvv5wISxSnPmpVK0moLa_nYaEyuFn0,1648
|
|
42
|
+
sapiopycommons/ai/protoapi/session/sapio_conn_info_pb2_grpc.py,sha256=Gk5SC9Dpx6JRJsKY5gONctgrLcIPTUwtH8oUw6jaN3w,930
|
|
43
|
+
sapiopycommons/callbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
|
+
sapiopycommons/callbacks/callback_util.py,sha256=qzSxMOnMT1fdPhKiL5tD4MYLgLKYVkYoSs5um9wZRZ0,154890
|
|
45
|
+
sapiopycommons/callbacks/field_builder.py,sha256=rnIP-RJafk3mZlAx1eJ8a0eSW9Ps_L6_WadCmusnENw,38772
|
|
46
|
+
sapiopycommons/chem/IndigoMolecules.py,sha256=7ucCaRMLu1zfH2uPIvXwRTSdpNcS03O1P9p_O-5B4xQ,5110
|
|
47
|
+
sapiopycommons/chem/Molecules.py,sha256=mVqPn32MPMjF0iZas-5MFkS-upIdoW5OB72KKZmJRJA,12523
|
|
48
|
+
sapiopycommons/chem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
sapiopycommons/customreport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
|
+
sapiopycommons/customreport/auto_pagers.py,sha256=89p-tik0MhsOplYje6LbAW4WClldpAmb8YXFDoXhIlY,17144
|
|
51
|
+
sapiopycommons/customreport/column_builder.py,sha256=0RO53e9rKPZ07C--KcepN6_tpRw_FxF3O9vdG0ilKG8,3014
|
|
52
|
+
sapiopycommons/customreport/custom_report_builder.py,sha256=BlTxZ4t1sfZA2Ciur1EfYvkZxHxJ7ADwYNAe2zwiN0c,7176
|
|
53
|
+
sapiopycommons/customreport/term_builder.py,sha256=1_PGjxNUy5YWim8WJ_HJfiTq6i0D3gLPDxLySlFt30o,18573
|
|
54
|
+
sapiopycommons/datatype/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
|
+
sapiopycommons/datatype/attachment_util.py,sha256=N-nhsJ0oxa_Ft6Y6VWeNFYLzfuQqsjhHA6_-yIt2wVw,3596
|
|
56
|
+
sapiopycommons/datatype/data_fields.py,sha256=pczUlEcE0TeHEDU0Gkvu7voacSLPXCB7l9UbI1Tb6V0,5656
|
|
57
|
+
sapiopycommons/datatype/pseudo_data_types.py,sha256=lAJDnFuStrUP0mK5AuYlFvLerwjEB-ABd6Z4qlCrwJA,40637
|
|
58
|
+
sapiopycommons/eln/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
+
sapiopycommons/eln/experiment_cache.py,sha256=Zv4IcsAl95ftO2ul3DRc_Hyno0AfC3OvFV7RYb72ITo,9560
|
|
60
|
+
sapiopycommons/eln/experiment_handler.py,sha256=1RzrWOicF9VjcWlaziV46yBEk1BOP4BuTJ0JeYdn50I,99204
|
|
61
|
+
sapiopycommons/eln/experiment_report_util.py,sha256=GLpgwSEPuUqnY1v4oJ1ao60Va-YcgXh7E-cH9YnVeAg,37256
|
|
62
|
+
sapiopycommons/eln/experiment_step_factory.py,sha256=qw9UfLslVzB6dEIZPOZ85XHKpld81RhD4-csM6TgQNg,26099
|
|
63
|
+
sapiopycommons/eln/experiment_tags.py,sha256=7-fpOiSqrjbXmWIJhEhaxMgLsVCPAtKqH8xRzpDVKoE,356
|
|
64
|
+
sapiopycommons/eln/plate_designer.py,sha256=XFazSvhTbSy47t80-jc2tyx_-fQ_IUjKd18JQKEFcsY,13939
|
|
65
|
+
sapiopycommons/eln/step_creation.py,sha256=CFkGC-SxwAQpQlcs_obqLAVgmsNxKSGMqMtO_E6IVmw,10171
|
|
66
|
+
sapiopycommons/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
+
sapiopycommons/files/assay_plate_reader.py,sha256=3c2PQiiAbc2QJU9ZfNLzcTmvJrUwsbkIHO7R6R52xGU,3020
|
|
68
|
+
sapiopycommons/files/complex_data_loader.py,sha256=T39veNhvYl6j_uZjIIJ8Mk5Aa7otR5RB-g8XlAdkksA,1421
|
|
69
|
+
sapiopycommons/files/file_bridge.py,sha256=vKbqxPexi15epr_-_qLrEfYoxNxB031mXN92iVtOMqE,9511
|
|
70
|
+
sapiopycommons/files/file_bridge_handler.py,sha256=SEYDIQhSCmjI6qyLdDJE8JVKSd0WYvF7JvAq_Ahp9Do,25503
|
|
71
|
+
sapiopycommons/files/file_data_handler.py,sha256=f96MlkMuQhUCi4oLnzJK5AiuElCp5jLI8_sJkZVwpws,36779
|
|
72
|
+
sapiopycommons/files/file_text_converter.py,sha256=Gaj_divTiKXWd6flDOgrxNXpcn9fDWqxX6LUG0joePk,7516
|
|
73
|
+
sapiopycommons/files/file_util.py,sha256=WBA3FYG8R2HtfxjWSzQhZKW6_1s6JSxTo9lk3SeNDu8,37140
|
|
74
|
+
sapiopycommons/files/file_validator.py,sha256=ryg22-93csmRO_Pv0ZpWphNkB74xWZnHyJ23K56qLj0,28761
|
|
75
|
+
sapiopycommons/files/file_writer.py,sha256=hACVl0duCjP28gJ1NPljkjagNCLod0ygUlPbvUmRDNM,17605
|
|
76
|
+
sapiopycommons/files/temp_files.py,sha256=s2sGvn9uh2dTI8AVAQJWOf6RAZ0xZs7DSccCi4AGmlw,3175
|
|
77
|
+
sapiopycommons/flowcyto/flow_cyto.py,sha256=B6DFquLi-gcWfJWyP4vYfwTXXJKl6O9W5-k8FzkM0Oo,2610
|
|
78
|
+
sapiopycommons/flowcyto/flowcyto_data.py,sha256=mYKFuLbtpJ-EsQxLGtu4tNHVlygTxKixgJxJqD68F58,2596
|
|
79
|
+
sapiopycommons/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
+
sapiopycommons/general/accession_service.py,sha256=ZvtvZg7d_siMJUedjrF14mcqo5ZqVA5IJxDa5enlB-8,12792
|
|
81
|
+
sapiopycommons/general/aliases.py,sha256=R7c1TgkyktKOrRYeMTpzMM61A7jYojJVM8ZcNu9Ktqo,14840
|
|
82
|
+
sapiopycommons/general/audit_log.py,sha256=sQAMcJx0cNkgZm7nTZSaGPxWvHG0_x6dBtU0jESavb4,9131
|
|
83
|
+
sapiopycommons/general/custom_report_util.py,sha256=9elLEUSgfM0gli8nRPz1uYkhaXN4Vnx3piSiNHv5IBs,19156
|
|
84
|
+
sapiopycommons/general/data_structure_util.py,sha256=fbQR_Fh4Scg67IpFPbQW9wVLw1oxlYxqp4LjBRTpjgU,4702
|
|
85
|
+
sapiopycommons/general/directive_util.py,sha256=7SeQrd2Ye5JHlXZtJZaVGgtaSLdq_Vm9EObuxf44Pz8,3905
|
|
86
|
+
sapiopycommons/general/exceptions.py,sha256=aPlzK1cvxeMU5UsokYlLrIBGltUfJZ7LH8zvLh9DxpI,3233
|
|
87
|
+
sapiopycommons/general/html_formatter.py,sha256=HE3OeGgwOw6x53zGSc4-UzP4-JoOmQIz3pX-DzNVg94,17138
|
|
88
|
+
sapiopycommons/general/macros.py,sha256=Tses4g247JADC93U2OROHdDadEuUPLhPXgeQljz-fK4,7127
|
|
89
|
+
sapiopycommons/general/popup_util.py,sha256=HKILegU1uCL_6abNlNL0Wn3xgX2JNa_kJeq7e5CZu6Q,31923
|
|
90
|
+
sapiopycommons/general/sapio_links.py,sha256=YkcVKNLrSGoM7tCCXBAsIbIxylctwdcEyhePrRMODe0,2859
|
|
91
|
+
sapiopycommons/general/storage_util.py,sha256=ovmK_jN7v09BoX07XxwShpBUC5WYQOM7dbKV_VeLXJU,8892
|
|
92
|
+
sapiopycommons/general/time_util.py,sha256=dB8_Ot61_ILcuKXeBt1jfa01UOoCcegnjqVdfr5tyQ8,19344
|
|
93
|
+
sapiopycommons/multimodal/multimodal.py,sha256=EP9WYzx1CvidmEBlvzO6tiF4HJwsPB1FgxpnbWzxnpA,6161
|
|
94
|
+
sapiopycommons/multimodal/multimodal_data.py,sha256=0BeVPr9HaC0hNTF1v1phTIKGruvNnwerHsD994qJKBg,15099
|
|
95
|
+
sapiopycommons/processtracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
96
|
+
sapiopycommons/processtracking/custom_workflow_handler.py,sha256=eYKdYlwo8xx-6AkB_iPUBNV9yDoNvW2h_Sm3i8JpmRU,25844
|
|
97
|
+
sapiopycommons/processtracking/endpoints.py,sha256=5AJLbhRKQsOeeOdQa888xcCJZD5aavxD-DHZ36Qob_M,12548
|
|
98
|
+
sapiopycommons/recordmodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
+
sapiopycommons/recordmodel/record_handler.py,sha256=TUkbMZEZEjO2fL77YvmA6nzRc5jCggzGApIL9AoNKOU,96916
|
|
100
|
+
sapiopycommons/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
|
+
sapiopycommons/rules/eln_rule_handler.py,sha256=Ec2hvxn6gmBvZjhX9-7WCFqafxFE9JSy2zCsvFsVyS4,11565
|
|
102
|
+
sapiopycommons/rules/on_save_rule_handler.py,sha256=HLdgUkxmaoHBK3jaycZlUHWam4kk36zmw7VDuRRiAx8,11332
|
|
103
|
+
sapiopycommons/samples/aliquot.py,sha256=mWOJUqaQh0t3HklNuGdmuV7D5zzXs6fpLwtDdM6_XTo,3018
|
|
104
|
+
sapiopycommons/sftpconnect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
sapiopycommons/sftpconnect/sftp_builder.py,sha256=lFK3FeXk-sFLefW0hqY8WGUQDeYiGaT6yDACzT_zFgQ,3015
|
|
106
|
+
sapiopycommons/webhook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
107
|
+
sapiopycommons/webhook/webhook_context.py,sha256=D793uLsb1691SalaPnBUk3rOSxn_hYLhdvkaIxjNXss,1909
|
|
108
|
+
sapiopycommons/webhook/webhook_handlers.py,sha256=7o_wXOruhT9auNh8OfhJAh4WhhiPKij67FMBSpGPICc,39939
|
|
109
|
+
sapiopycommons/webhook/webservice_handlers.py,sha256=cvW6Mk_110BzYqkbk63Kg7jWrltBCDALOlkJRu8h4VQ,14300
|
|
110
|
+
sapiopycommons-2026.1.22a847.dist-info/METADATA,sha256=Vx4vhKjIcObBi7v_mYqHErNc-Ku0zd8YDbw2WwF5qhE,3143
|
|
111
|
+
sapiopycommons-2026.1.22a847.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
112
|
+
sapiopycommons-2026.1.22a847.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
|
|
113
|
+
sapiopycommons-2026.1.22a847.dist-info/RECORD,,
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
sapiopycommons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
sapiopycommons/callbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
sapiopycommons/callbacks/callback_util.py,sha256=rps6RA6lmzCOwiBqPQAe2Mkf0CIF4RjHPQTYgduMAgE,153011
|
|
4
|
-
sapiopycommons/callbacks/field_builder.py,sha256=rnIP-RJafk3mZlAx1eJ8a0eSW9Ps_L6_WadCmusnENw,38772
|
|
5
|
-
sapiopycommons/chem/IndigoMolecules.py,sha256=7ucCaRMLu1zfH2uPIvXwRTSdpNcS03O1P9p_O-5B4xQ,5110
|
|
6
|
-
sapiopycommons/chem/Molecules.py,sha256=mVqPn32MPMjF0iZas-5MFkS-upIdoW5OB72KKZmJRJA,12523
|
|
7
|
-
sapiopycommons/chem/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
-
sapiopycommons/customreport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
sapiopycommons/customreport/auto_pagers.py,sha256=89p-tik0MhsOplYje6LbAW4WClldpAmb8YXFDoXhIlY,17144
|
|
10
|
-
sapiopycommons/customreport/column_builder.py,sha256=0RO53e9rKPZ07C--KcepN6_tpRw_FxF3O9vdG0ilKG8,3014
|
|
11
|
-
sapiopycommons/customreport/custom_report_builder.py,sha256=BlTxZ4t1sfZA2Ciur1EfYvkZxHxJ7ADwYNAe2zwiN0c,7176
|
|
12
|
-
sapiopycommons/customreport/term_builder.py,sha256=1_PGjxNUy5YWim8WJ_HJfiTq6i0D3gLPDxLySlFt30o,18573
|
|
13
|
-
sapiopycommons/datatype/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
sapiopycommons/datatype/attachment_util.py,sha256=N-nhsJ0oxa_Ft6Y6VWeNFYLzfuQqsjhHA6_-yIt2wVw,3596
|
|
15
|
-
sapiopycommons/datatype/data_fields.py,sha256=pczUlEcE0TeHEDU0Gkvu7voacSLPXCB7l9UbI1Tb6V0,5656
|
|
16
|
-
sapiopycommons/datatype/pseudo_data_types.py,sha256=lAJDnFuStrUP0mK5AuYlFvLerwjEB-ABd6Z4qlCrwJA,40637
|
|
17
|
-
sapiopycommons/eln/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
sapiopycommons/eln/experiment_cache.py,sha256=Zv4IcsAl95ftO2ul3DRc_Hyno0AfC3OvFV7RYb72ITo,9560
|
|
19
|
-
sapiopycommons/eln/experiment_handler.py,sha256=kMQuccmGyPzc8wYKsds6AZ_VjH9WLjtUY6hsSWXJx6s,98786
|
|
20
|
-
sapiopycommons/eln/experiment_report_util.py,sha256=GLpgwSEPuUqnY1v4oJ1ao60Va-YcgXh7E-cH9YnVeAg,37256
|
|
21
|
-
sapiopycommons/eln/experiment_step_factory.py,sha256=qw9UfLslVzB6dEIZPOZ85XHKpld81RhD4-csM6TgQNg,26099
|
|
22
|
-
sapiopycommons/eln/experiment_tags.py,sha256=7-fpOiSqrjbXmWIJhEhaxMgLsVCPAtKqH8xRzpDVKoE,356
|
|
23
|
-
sapiopycommons/eln/plate_designer.py,sha256=XFazSvhTbSy47t80-jc2tyx_-fQ_IUjKd18JQKEFcsY,13939
|
|
24
|
-
sapiopycommons/eln/step_creation.py,sha256=CFkGC-SxwAQpQlcs_obqLAVgmsNxKSGMqMtO_E6IVmw,10171
|
|
25
|
-
sapiopycommons/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
sapiopycommons/files/complex_data_loader.py,sha256=T39veNhvYl6j_uZjIIJ8Mk5Aa7otR5RB-g8XlAdkksA,1421
|
|
27
|
-
sapiopycommons/files/file_bridge.py,sha256=vKbqxPexi15epr_-_qLrEfYoxNxB031mXN92iVtOMqE,9511
|
|
28
|
-
sapiopycommons/files/file_bridge_handler.py,sha256=SEYDIQhSCmjI6qyLdDJE8JVKSd0WYvF7JvAq_Ahp9Do,25503
|
|
29
|
-
sapiopycommons/files/file_data_handler.py,sha256=f96MlkMuQhUCi4oLnzJK5AiuElCp5jLI8_sJkZVwpws,36779
|
|
30
|
-
sapiopycommons/files/file_util.py,sha256=djouyGjsYgWzjz2OBRnSeMDgj6NrsJUm1a2J93J8Wco,31915
|
|
31
|
-
sapiopycommons/files/file_validator.py,sha256=ryg22-93csmRO_Pv0ZpWphNkB74xWZnHyJ23K56qLj0,28761
|
|
32
|
-
sapiopycommons/files/file_writer.py,sha256=hACVl0duCjP28gJ1NPljkjagNCLod0ygUlPbvUmRDNM,17605
|
|
33
|
-
sapiopycommons/flowcyto/flow_cyto.py,sha256=vs9WhXXKz3urpjL8QKSk56B-NSmQR3O3x_WFBKoeO10,3227
|
|
34
|
-
sapiopycommons/flowcyto/flowcyto_data.py,sha256=mYKFuLbtpJ-EsQxLGtu4tNHVlygTxKixgJxJqD68F58,2596
|
|
35
|
-
sapiopycommons/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
sapiopycommons/general/accession_service.py,sha256=3e__bVs7CYZ1CduLlGA9plnK7nCtdy7GXjCrNObPFgo,13484
|
|
37
|
-
sapiopycommons/general/aliases.py,sha256=VwnWf_P803pcteoAIs0DkLScVChCS5XNgryTp8FzaNc,14696
|
|
38
|
-
sapiopycommons/general/audit_log.py,sha256=sQAMcJx0cNkgZm7nTZSaGPxWvHG0_x6dBtU0jESavb4,9131
|
|
39
|
-
sapiopycommons/general/custom_report_util.py,sha256=9elLEUSgfM0gli8nRPz1uYkhaXN4Vnx3piSiNHv5IBs,19156
|
|
40
|
-
sapiopycommons/general/data_structure_util.py,sha256=fbQR_Fh4Scg67IpFPbQW9wVLw1oxlYxqp4LjBRTpjgU,4702
|
|
41
|
-
sapiopycommons/general/directive_util.py,sha256=7SeQrd2Ye5JHlXZtJZaVGgtaSLdq_Vm9EObuxf44Pz8,3905
|
|
42
|
-
sapiopycommons/general/exceptions.py,sha256=aPlzK1cvxeMU5UsokYlLrIBGltUfJZ7LH8zvLh9DxpI,3233
|
|
43
|
-
sapiopycommons/general/html_formatter.py,sha256=HE3OeGgwOw6x53zGSc4-UzP4-JoOmQIz3pX-DzNVg94,17138
|
|
44
|
-
sapiopycommons/general/popup_util.py,sha256=HKILegU1uCL_6abNlNL0Wn3xgX2JNa_kJeq7e5CZu6Q,31923
|
|
45
|
-
sapiopycommons/general/sapio_links.py,sha256=YkcVKNLrSGoM7tCCXBAsIbIxylctwdcEyhePrRMODe0,2859
|
|
46
|
-
sapiopycommons/general/storage_util.py,sha256=ovmK_jN7v09BoX07XxwShpBUC5WYQOM7dbKV_VeLXJU,8892
|
|
47
|
-
sapiopycommons/general/time_util.py,sha256=jU1urPoZRv6evNucR0-288EyT4PrsDpCr-H1-7BKq9A,12363
|
|
48
|
-
sapiopycommons/multimodal/multimodal.py,sha256=PFaGJPbKvW__tnxb8KkgkJZOKjQdgxF_kGfD5chet1s,6779
|
|
49
|
-
sapiopycommons/multimodal/multimodal_data.py,sha256=0BeVPr9HaC0hNTF1v1phTIKGruvNnwerHsD994qJKBg,15099
|
|
50
|
-
sapiopycommons/processtracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
-
sapiopycommons/processtracking/custom_workflow_handler.py,sha256=eYKdYlwo8xx-6AkB_iPUBNV9yDoNvW2h_Sm3i8JpmRU,25844
|
|
52
|
-
sapiopycommons/processtracking/endpoints.py,sha256=5AJLbhRKQsOeeOdQa888xcCJZD5aavxD-DHZ36Qob_M,12548
|
|
53
|
-
sapiopycommons/recordmodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
54
|
-
sapiopycommons/recordmodel/record_handler.py,sha256=HfYOl_dDHFd0SEQS3g48_a4zsm36ODWkvZunwzCFDos,90666
|
|
55
|
-
sapiopycommons/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
|
-
sapiopycommons/rules/eln_rule_handler.py,sha256=MnE-eSl1kNfaXWFi9elTOC9V2fdUzrwWTvCHUprC8_I,11388
|
|
57
|
-
sapiopycommons/rules/on_save_rule_handler.py,sha256=fkNIlslAZZ0BUrRiwecyvf42JBR8FpCCQ6DBNKXP2jE,11155
|
|
58
|
-
sapiopycommons/samples/aliquot.py,sha256=mWOJUqaQh0t3HklNuGdmuV7D5zzXs6fpLwtDdM6_XTo,3018
|
|
59
|
-
sapiopycommons/sftpconnect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
-
sapiopycommons/sftpconnect/sftp_builder.py,sha256=lFK3FeXk-sFLefW0hqY8WGUQDeYiGaT6yDACzT_zFgQ,3015
|
|
61
|
-
sapiopycommons/webhook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
-
sapiopycommons/webhook/webhook_context.py,sha256=D793uLsb1691SalaPnBUk3rOSxn_hYLhdvkaIxjNXss,1909
|
|
63
|
-
sapiopycommons/webhook/webhook_handlers.py,sha256=tUVNCw05CDGu1gFDm2g558hX_O203WVm_n__ojjoRRM,39841
|
|
64
|
-
sapiopycommons/webhook/webservice_handlers.py,sha256=tyaYGG1-v_JJrJHZ6cy5mGCxX9z1foLw7pM4MDJlFxs,14297
|
|
65
|
-
sapiopycommons-2025.6.19a564.dist-info/METADATA,sha256=NdRawGZqwt0LrI4WrQxBNoStmuExac4I9VJFx92THm0,3143
|
|
66
|
-
sapiopycommons-2025.6.19a564.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
67
|
-
sapiopycommons-2025.6.19a564.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
|
|
68
|
-
sapiopycommons-2025.6.19a564.dist-info/RECORD,,
|
|
File without changes
|
{sapiopycommons-2025.6.19a564.dist-info → sapiopycommons-2026.1.22a847.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|