sapiopycommons 2025.2.21a446__tar.gz → 2025.2.25a448__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.
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/PKG-INFO +1 -1
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/pyproject.toml +1 -1
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/tool_of_tools.py +10 -6
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/.gitignore +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/LICENSE +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/README.md +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/biopython_helper.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/rdkit_helper.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/callbacks/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/callbacks/callback_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/callbacks/field_builder.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/chem/IndigoMolecules.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/chem/Molecules.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/chem/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/customreport/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/customreport/auto_pagers.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/customreport/column_builder.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/customreport/custom_report_builder.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/customreport/term_builder.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/datatype/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/datatype/attachment_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/datatype/data_fields.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/datatype/pseudo_data_types.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/eln/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/eln/experiment_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/eln/experiment_report_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/eln/plate_designer.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/complex_data_loader.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_bridge.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_bridge_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_data_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_validator.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_writer.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/flowcyto/flow_cyto.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/flowcyto/flowcyto_data.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/accession_service.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/aliases.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/audit_log.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/custom_report_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/directive_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/exceptions.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/popup_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/sapio_links.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/storage_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/time_util.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/multimodal/multimodal.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/multimodal/multimodal_data.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/processtracking/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/processtracking/custom_workflow_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/processtracking/endpoints.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/recordmodel/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/recordmodel/record_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/rules/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/rules/eln_rule_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/rules/on_save_rule_handler.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/samples/aliquot.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/sftpconnect/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/sftpconnect/sftp_builder.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/webhook/__init__.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/webhook/webhook_context.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/webhook/webhook_handlers.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/webhook/webservice_handlers.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/AF-A0A009IHW8-F1-model_v4.cif +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/_do_not_add_init_py_here +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/accession_test.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/aliquot_test.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/bio_reg_test.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/chem_test.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/chem_test_curation_queue.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/curation_queue_test.sdf +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/data_type_models.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/101_DEN084Y5_15_E01_008_clean.fcs +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/101_DEN084Y5_15_E03_009_clean.fcs +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/101_DEN084Y5_15_E05_010_clean.fcs +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/8_color_ICS.wsp +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/COVID19_W_001_O.fcs +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto_test.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/kappa.chains.fasta +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/mafft_test.py +0 -0
- {sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/test.gb +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: sapiopycommons
|
|
3
|
-
Version: 2025.2.
|
|
3
|
+
Version: 2025.2.25a448
|
|
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>
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/tool_of_tools.py
RENAMED
|
@@ -190,19 +190,22 @@ class AiHelper:
|
|
|
190
190
|
# Contextual info.
|
|
191
191
|
user: SapioUser
|
|
192
192
|
exp_id: int
|
|
193
|
+
timeout: int
|
|
193
194
|
|
|
194
195
|
# Managers.
|
|
195
196
|
dr_man: DataRecordManager
|
|
196
197
|
eln_man: ElnManager
|
|
197
198
|
dt_man: DataTypeManager
|
|
198
199
|
|
|
199
|
-
def __init__(self, user: SapioUser, exp_id: int):
|
|
200
|
+
def __init__(self, user: SapioUser, exp_id: int, timeout: int = 120):
|
|
200
201
|
"""
|
|
201
202
|
:param user: The user to send the requests from.
|
|
202
203
|
:param exp_id: The ID of the experiment to create the entries in.
|
|
204
|
+
:param timeout: The timeout in seconds to use for requests.
|
|
203
205
|
"""
|
|
204
206
|
self.user = user
|
|
205
207
|
self.exp_id = exp_id
|
|
208
|
+
self.timeout = timeout
|
|
206
209
|
|
|
207
210
|
self.dr_man = DataRecordManager(self.user)
|
|
208
211
|
self.eln_man = ElnManager(self.user)
|
|
@@ -218,7 +221,7 @@ class AiHelper:
|
|
|
218
221
|
:return: The Response object returned by the endpoint.
|
|
219
222
|
"""
|
|
220
223
|
headers = create_tot_headers(self.user.url, self.user.username, self.user.password, self.exp_id, tab_prefix)
|
|
221
|
-
response = requests.post(url, json=payload, headers=headers)
|
|
224
|
+
response = requests.post(url, json=payload, headers=headers, timeout=self.timeout)
|
|
222
225
|
response.raise_for_status()
|
|
223
226
|
return response
|
|
224
227
|
|
|
@@ -232,7 +235,7 @@ class AiHelper:
|
|
|
232
235
|
:return: The Response object returned by the endpoint.
|
|
233
236
|
"""
|
|
234
237
|
headers = create_tot_headers(self.user.url, self.user.username, self.user.password, self.exp_id, tab_prefix)
|
|
235
|
-
response = requests.get(url, params=params, headers=headers)
|
|
238
|
+
response = requests.get(url, params=params, headers=headers, timeout=self.timeout)
|
|
236
239
|
response.raise_for_status()
|
|
237
240
|
return response
|
|
238
241
|
|
|
@@ -331,8 +334,9 @@ class AiHelper:
|
|
|
331
334
|
:param n: The unique name of the field.
|
|
332
335
|
"""
|
|
333
336
|
link_out: dict[str, str] = {}
|
|
334
|
-
if v
|
|
335
|
-
|
|
337
|
+
if isinstance(v, str):
|
|
338
|
+
if v.startswith("https://") or v.startswith("http://"):
|
|
339
|
+
link_out["Link"] = "[[LINK_OUT]]"
|
|
336
340
|
return fb.string_field(n, display_name=k, link_out=link_out)
|
|
337
341
|
|
|
338
342
|
def update_field_length(k: str, v: Any, lengths: dict[str, int]) -> None:
|
|
@@ -390,7 +394,7 @@ class AiHelper:
|
|
|
390
394
|
if field_type == FieldType.BOOLEAN and isinstance(value, bool):
|
|
391
395
|
continue
|
|
392
396
|
# Integers and floats both fit in DOUBLE fields, but floats can't be NaN or infinity.
|
|
393
|
-
if field_type == FieldType.DOUBLE:
|
|
397
|
+
if field_type == FieldType.DOUBLE and not isinstance(value, bool):
|
|
394
398
|
if isinstance(value, int):
|
|
395
399
|
continue
|
|
396
400
|
if isinstance(value, float) and not math.isnan(value) and not math.isinf(value):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/__init__.py
RENAMED
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/ai/rdkit_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/chem/Molecules.py
RENAMED
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/chem/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/eln/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/files/file_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/general/aliases.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/rules/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/samples/aliquot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/src/sapiopycommons/webhook/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/AF-A0A009IHW8-F1-model_v4.cif
RENAMED
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/_do_not_add_init_py_here
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/chem_test_curation_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/8_color_ICS.wsp
RENAMED
|
File without changes
|
{sapiopycommons-2025.2.21a446 → sapiopycommons-2025.2.25a448}/tests/flowcyto/COVID19_W_001_O.fcs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|