sapiopycommons 2025.4.12a480__tar.gz → 2025.4.15a483__tar.gz

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 (86) hide show
  1. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/PKG-INFO +1 -1
  2. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/pyproject.toml +1 -1
  3. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/callbacks/callback_util.py +3 -2
  4. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/plate_designer.py +1 -1
  5. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/recordmodel/record_handler.py +3 -3
  6. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/.gitignore +0 -0
  7. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/LICENSE +0 -0
  8. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/README.md +0 -0
  9. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/__init__.py +0 -0
  10. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/callbacks/__init__.py +0 -0
  11. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/callbacks/field_builder.py +0 -0
  12. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/chem/IndigoMolecules.py +0 -0
  13. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/chem/Molecules.py +0 -0
  14. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/chem/__init__.py +0 -0
  15. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/customreport/__init__.py +0 -0
  16. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/customreport/auto_pagers.py +0 -0
  17. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/customreport/column_builder.py +0 -0
  18. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/customreport/custom_report_builder.py +0 -0
  19. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/customreport/term_builder.py +0 -0
  20. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/datatype/__init__.py +0 -0
  21. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/datatype/attachment_util.py +0 -0
  22. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/datatype/data_fields.py +0 -0
  23. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/datatype/pseudo_data_types.py +0 -0
  24. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/__init__.py +0 -0
  25. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/experiment_cache.py +0 -0
  26. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/experiment_handler.py +0 -0
  27. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/experiment_report_util.py +0 -0
  28. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/experiment_step_factory.py +0 -0
  29. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/experiment_tags.py +0 -0
  30. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/eln/step_creation.py +0 -0
  31. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/__init__.py +0 -0
  32. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/complex_data_loader.py +0 -0
  33. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/file_bridge.py +0 -0
  34. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/file_bridge_handler.py +0 -0
  35. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/file_data_handler.py +0 -0
  36. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/file_util.py +0 -0
  37. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/file_validator.py +0 -0
  38. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/files/file_writer.py +0 -0
  39. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/flowcyto/flow_cyto.py +0 -0
  40. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/flowcyto/flowcyto_data.py +0 -0
  41. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/__init__.py +0 -0
  42. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/accession_service.py +0 -0
  43. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/aliases.py +0 -0
  44. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/audit_log.py +0 -0
  45. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/custom_report_util.py +0 -0
  46. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/data_structure_util.py +0 -0
  47. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/directive_util.py +0 -0
  48. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/exceptions.py +0 -0
  49. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/popup_util.py +0 -0
  50. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/sapio_links.py +0 -0
  51. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/storage_util.py +0 -0
  52. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/general/time_util.py +0 -0
  53. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/multimodal/multimodal.py +0 -0
  54. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/multimodal/multimodal_data.py +0 -0
  55. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/processtracking/__init__.py +0 -0
  56. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/processtracking/custom_workflow_handler.py +0 -0
  57. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/processtracking/endpoints.py +0 -0
  58. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/recordmodel/__init__.py +0 -0
  59. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/rules/__init__.py +0 -0
  60. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/rules/eln_rule_handler.py +0 -0
  61. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/rules/on_save_rule_handler.py +0 -0
  62. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/samples/aliquot.py +0 -0
  63. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/sftpconnect/__init__.py +0 -0
  64. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/sftpconnect/sftp_builder.py +0 -0
  65. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/webhook/__init__.py +0 -0
  66. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/webhook/webhook_context.py +0 -0
  67. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/webhook/webhook_handlers.py +0 -0
  68. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/src/sapiopycommons/webhook/webservice_handlers.py +0 -0
  69. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/AF-A0A009IHW8-F1-model_v4.cif +0 -0
  70. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/_do_not_add_init_py_here +0 -0
  71. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/accession_test.py +0 -0
  72. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/aliquot_test.py +0 -0
  73. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/bio_reg_test.py +0 -0
  74. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/chem_test.py +0 -0
  75. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/chem_test_curation_queue.py +0 -0
  76. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/curation_queue_test.sdf +0 -0
  77. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/data_type_models.py +0 -0
  78. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/flowcyto/101_DEN084Y5_15_E01_008_clean.fcs +0 -0
  79. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/flowcyto/101_DEN084Y5_15_E03_009_clean.fcs +0 -0
  80. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/flowcyto/101_DEN084Y5_15_E05_010_clean.fcs +0 -0
  81. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/flowcyto/8_color_ICS.wsp +0 -0
  82. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/flowcyto/COVID19_W_001_O.fcs +0 -0
  83. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/flowcyto_test.py +0 -0
  84. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/kappa.chains.fasta +0 -0
  85. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/mafft_test.py +0 -0
  86. {sapiopycommons-2025.4.12a480 → sapiopycommons-2025.4.15a483}/tests/test.gb +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sapiopycommons
3
- Version: 2025.4.12a480
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>
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "sapiopycommons"
7
- version='2025.04.12a480'
7
+ version='2025.04.15a483'
8
8
  authors = [
9
9
  { name="Jonathan Steck", email="jsteck@sapiosciences.com" },
10
10
  { name="Yechen Qiao", email="yqiao@sapiosciences.com" },
@@ -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