sapiopycommons 2025.4.12a480__py3-none-any.whl → 2025.4.14a481__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.

@@ -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
- records_by_id[result[index_field]].set_field_values(result)
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.to_data_type_names(rec)
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.get(WellElement.PLATE_RECORD_ID__FIELD.field_name)
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(record, wrapper) if wrapper else parent
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(record, wrapper) if wrapper else child
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(record, wrapper) if wrapper else side_link
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.12a480
3
+ Version: 2025.4.14a481
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=_itd4vQuwsCfucJlWsK_q9KO51qLAs9G4CwpKpvyJS4,134962
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=8VO3T272jY3egQFN5SiIAQFlbKvWcFUJ_nHGFHrpf6c,13927
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=0VaE8D2Q2OH7TikSucJc66wOV_vDJaCMnMvr3hTMsBQ,90144
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.12a480.dist-info/METADATA,sha256=8W1_6UTqz6uySW-g2Szb4t1DdOB4-mftKde3svquT3E,3143
65
- sapiopycommons-2025.4.12a480.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
66
- sapiopycommons-2025.4.12a480.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
67
- sapiopycommons-2025.4.12a480.dist-info/RECORD,,
64
+ sapiopycommons-2025.4.14a481.dist-info/METADATA,sha256=WuRqP0EawOywhzkhfiLLDGnVRzP-o-T6cFnNTnhACEo,3143
65
+ sapiopycommons-2025.4.14a481.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
66
+ sapiopycommons-2025.4.14a481.dist-info/licenses/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
67
+ sapiopycommons-2025.4.14a481.dist-info/RECORD,,