sapiopycommons 2025.4.12a480__py3-none-any.whl → 2025.4.15a483__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.
- sapiopycommons/callbacks/callback_util.py +3 -2
- sapiopycommons/eln/plate_designer.py +1 -1
- sapiopycommons/recordmodel/record_handler.py +3 -3
- {sapiopycommons-2025.4.12a480.dist-info → sapiopycommons-2025.4.15a483.dist-info}/METADATA +1 -1
- {sapiopycommons-2025.4.12a480.dist-info → sapiopycommons-2025.4.15a483.dist-info}/RECORD +7 -7
- {sapiopycommons-2025.4.12a480.dist-info → sapiopycommons-2025.4.15a483.dist-info}/WHEEL +0 -0
- {sapiopycommons-2025.4.12a480.dist-info → sapiopycommons-2025.4.15a483.dist-info}/licenses/LICENSE +0 -0
|
@@ -814,7 +814,8 @@ class CallbackUtil:
|
|
|
814
814
|
index_field=index_field)
|
|
815
815
|
records_by_id: dict[int, SapioRecord] = self.rec_handler.map_by_id(records)
|
|
816
816
|
for result in results:
|
|
817
|
-
|
|
817
|
+
index: int = result.pop(index_field)
|
|
818
|
+
records_by_id[index].set_field_values(result)
|
|
818
819
|
|
|
819
820
|
def create_record_table_dialog(self,
|
|
820
821
|
title: str,
|
|
@@ -1215,7 +1216,7 @@ class CallbackUtil:
|
|
|
1215
1216
|
if rec is None:
|
|
1216
1217
|
continue
|
|
1217
1218
|
# Map records to their data type name. Map field maps to Default.
|
|
1218
|
-
dt: str = "Default" if isinstance(rec, dict) else AliasUtil.
|
|
1219
|
+
dt: str = "Default" if isinstance(rec, dict) else AliasUtil.to_data_type_name(rec)
|
|
1219
1220
|
# Warn if the same data type name appears more than once.
|
|
1220
1221
|
if dt in row_records:
|
|
1221
1222
|
raise SapioException(f"The data type \"{dt}\" appears more than once in the given row contents.")
|
|
@@ -167,7 +167,7 @@ class PlateDesignerEntry(ElnEntryStep):
|
|
|
167
167
|
self._designer_elements_by_plate = {}
|
|
168
168
|
self._designer_elements_by_plate.clear()
|
|
169
169
|
for element in self._designer_elements:
|
|
170
|
-
plate_id: int = element.
|
|
170
|
+
plate_id: int = element.get_field_value(WellElement.PLATE_RECORD_ID__FIELD.field_name)
|
|
171
171
|
self._designer_elements_by_plate.setdefault(plate_id, []).append(element)
|
|
172
172
|
return self._designer_elements
|
|
173
173
|
|
|
@@ -739,7 +739,7 @@ class RecordHandler:
|
|
|
739
739
|
record: PyRecordModel = RecordModelInstanceManager.unwrap(record)
|
|
740
740
|
parent: PyRecordModel | None = record.get_parent_of_type(parent_dt)
|
|
741
741
|
if parent is not None:
|
|
742
|
-
return self.wrap_model(
|
|
742
|
+
return self.wrap_model(parent, wrapper) if wrapper else parent
|
|
743
743
|
return record.add(Parent.create(wrapper)) if wrapper else record.add(Parent.create_by_name(parent_dt))
|
|
744
744
|
|
|
745
745
|
def get_or_add_child(self, record: RecordModel, child_type: type[WrappedType] | str) -> WrappedType | PyRecordModel:
|
|
@@ -757,7 +757,7 @@ class RecordHandler:
|
|
|
757
757
|
record: PyRecordModel = RecordModelInstanceManager.unwrap(record)
|
|
758
758
|
child: PyRecordModel | None = record.get_child_of_type(child_dt)
|
|
759
759
|
if child is not None:
|
|
760
|
-
return self.wrap_model(
|
|
760
|
+
return self.wrap_model(child, wrapper) if wrapper else child
|
|
761
761
|
return record.add(Child.create(wrapper)) if wrapper else record.add(Child.create_by_name(child_dt))
|
|
762
762
|
|
|
763
763
|
def get_or_add_side_link(self, record: RecordModel, side_link_field: FieldIdentifier,
|
|
@@ -777,7 +777,7 @@ class RecordHandler:
|
|
|
777
777
|
record: PyRecordModel = RecordModelInstanceManager.unwrap(record)
|
|
778
778
|
side_link: PyRecordModel | None = record.get_forward_side_link(side_link_field)
|
|
779
779
|
if side_link is not None:
|
|
780
|
-
return self.wrap_model(
|
|
780
|
+
return self.wrap_model(side_link, wrapper) if wrapper else side_link
|
|
781
781
|
side_link: WrappedType | PyRecordModel = self.add_model(side_link_type)
|
|
782
782
|
record.set(ForwardSideLink.ref(side_link_field, side_link))
|
|
783
783
|
return side_link
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: sapiopycommons
|
|
3
|
-
Version: 2025.4.
|
|
3
|
+
Version: 2025.4.15a483
|
|
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>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
sapiopycommons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
sapiopycommons/callbacks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
sapiopycommons/callbacks/callback_util.py,sha256=
|
|
3
|
+
sapiopycommons/callbacks/callback_util.py,sha256=lnrwG9hCVmA2GuzxlRrGKw7Eq5hzz7GBZvizgcKkSX0,134996
|
|
4
4
|
sapiopycommons/callbacks/field_builder.py,sha256=rnIP-RJafk3mZlAx1eJ8a0eSW9Ps_L6_WadCmusnENw,38772
|
|
5
5
|
sapiopycommons/chem/IndigoMolecules.py,sha256=slM2y39zZFHc468c366EqR8T-GYJ24UnM9HWAqWFEwQ,3900
|
|
6
6
|
sapiopycommons/chem/Molecules.py,sha256=5PzRyE1s-Z3nfwh3Y4dCNdQOIJGhog08wyZvgTkKwyU,12384
|
|
@@ -20,7 +20,7 @@ sapiopycommons/eln/experiment_handler.py,sha256=7vYRlYAW_xT5LcZ5nLqL9dxEHGRAPEuU
|
|
|
20
20
|
sapiopycommons/eln/experiment_report_util.py,sha256=NNNNPVD3_2ZAjoOqCMOnlnmPD0SCjDcgYi453ATSJBs,37027
|
|
21
21
|
sapiopycommons/eln/experiment_step_factory.py,sha256=qw9UfLslVzB6dEIZPOZ85XHKpld81RhD4-csM6TgQNg,26099
|
|
22
22
|
sapiopycommons/eln/experiment_tags.py,sha256=7-fpOiSqrjbXmWIJhEhaxMgLsVCPAtKqH8xRzpDVKoE,356
|
|
23
|
-
sapiopycommons/eln/plate_designer.py,sha256=
|
|
23
|
+
sapiopycommons/eln/plate_designer.py,sha256=XFazSvhTbSy47t80-jc2tyx_-fQ_IUjKd18JQKEFcsY,13939
|
|
24
24
|
sapiopycommons/eln/step_creation.py,sha256=d_2fEpGDMyas4nx2W_WviFaMsfw95epTT7sJoDuE94g,10139
|
|
25
25
|
sapiopycommons/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
sapiopycommons/files/complex_data_loader.py,sha256=T39veNhvYl6j_uZjIIJ8Mk5Aa7otR5RB-g8XlAdkksA,1421
|
|
@@ -50,7 +50,7 @@ sapiopycommons/processtracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
|
50
50
|
sapiopycommons/processtracking/custom_workflow_handler.py,sha256=wsDmJvl6pgrKEhxpTdh41B0CXAUCMli5JBkVDj-jbWw,25246
|
|
51
51
|
sapiopycommons/processtracking/endpoints.py,sha256=w5bziI2xC7450M95rCF8JpRwkoni1kEDibyAux9B12Q,10848
|
|
52
52
|
sapiopycommons/recordmodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
-
sapiopycommons/recordmodel/record_handler.py,sha256=
|
|
53
|
+
sapiopycommons/recordmodel/record_handler.py,sha256=ZIIh3jbQYWAW4enpiaTffH-ICAZzuMKEsDlj_nnC1aA,90146
|
|
54
54
|
sapiopycommons/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
55
55
|
sapiopycommons/rules/eln_rule_handler.py,sha256=MnE-eSl1kNfaXWFi9elTOC9V2fdUzrwWTvCHUprC8_I,11388
|
|
56
56
|
sapiopycommons/rules/on_save_rule_handler.py,sha256=fkNIlslAZZ0BUrRiwecyvf42JBR8FpCCQ6DBNKXP2jE,11155
|
|
@@ -61,7 +61,7 @@ sapiopycommons/webhook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
61
61
|
sapiopycommons/webhook/webhook_context.py,sha256=D793uLsb1691SalaPnBUk3rOSxn_hYLhdvkaIxjNXss,1909
|
|
62
62
|
sapiopycommons/webhook/webhook_handlers.py,sha256=tUVNCw05CDGu1gFDm2g558hX_O203WVm_n__ojjoRRM,39841
|
|
63
63
|
sapiopycommons/webhook/webservice_handlers.py,sha256=tyaYGG1-v_JJrJHZ6cy5mGCxX9z1foLw7pM4MDJlFxs,14297
|
|
64
|
-
sapiopycommons-2025.4.
|
|
65
|
-
sapiopycommons-2025.4.
|
|
66
|
-
sapiopycommons-2025.4.
|
|
67
|
-
sapiopycommons-2025.4.
|
|
64
|
+
sapiopycommons-2025.4.15a483.dist-info/METADATA,sha256=eibZss8crYwwO9equ9pip8MJ65tX2-zltTw55AMYt5k,3143
|
|
65
|
+
sapiopycommons-2025.4.15a483.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
66
|
+
sapiopycommons-2025.4.15a483.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
|
|
67
|
+
sapiopycommons-2025.4.15a483.dist-info/RECORD,,
|
|
File without changes
|
{sapiopycommons-2025.4.12a480.dist-info → sapiopycommons-2025.4.15a483.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|