pybiolib 1.2.243__py3-none-any.whl → 1.2.252__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.
biolib/app/app.py CHANGED
@@ -16,7 +16,7 @@ from biolib.biolib_logging import logger
16
16
  from biolib.compute_node.job_worker.job_worker import JobWorker
17
17
  from biolib.experiments.experiment import Experiment
18
18
  from biolib.jobs import Job
19
- from biolib.typing_utils import Optional
19
+ from biolib.typing_utils import Optional, Dict
20
20
  from biolib.utils.app_uri import parse_app_uri
21
21
 
22
22
 
@@ -58,6 +58,7 @@ class BioLibApp:
58
58
  notify: bool = False,
59
59
  machine_count: Optional[int] = None,
60
60
  experiment: Optional[str] = None,
61
+ temporary_client_secrets: Optional[Dict[str, str]] = None,
61
62
  ) -> Job:
62
63
  if experiment_id and experiment:
63
64
  raise ValueError('Only one of experiment_id and experiment can be specified')
@@ -91,6 +92,7 @@ class BioLibApp:
91
92
  result_prefix=result_prefix,
92
93
  timeout=timeout,
93
94
  requested_machine_count=machine_count,
95
+ temporary_client_secrets=temporary_client_secrets,
94
96
  )
95
97
  if blocking:
96
98
  # TODO: Deprecate utils.STREAM_STDOUT and always stream logs by simply calling job.stream_logs()
@@ -115,7 +117,7 @@ class BioLibApp:
115
117
  else:
116
118
  raise BioLibError("""
117
119
  Calling an app directly with app() is currently being reworked.
118
- To use the previous functionality, please call app.cli() instead.
120
+ To use the previous functionality, please call app.cli() instead.
119
121
  Example: "app.cli('--help')"
120
122
  """)
121
123
 
@@ -47,6 +47,7 @@ class BiolibJobApi:
47
47
  timeout: Optional[int] = None,
48
48
  notify: bool = False,
49
49
  requested_machine_count: Optional[int] = None,
50
+ temporary_client_secrets: Optional[Dict[str, str]] = None,
50
51
  ):
51
52
  data = {
52
53
  'app_version_id': app_version_id,
@@ -83,6 +84,9 @@ class BiolibJobApi:
83
84
  if timeout:
84
85
  data['requested_timeout_seconds'] = timeout
85
86
 
87
+ if temporary_client_secrets:
88
+ data['temporary_client_secrets'] = temporary_client_secrets
89
+
86
90
  response = biolib.api.client.post(path='/jobs/', data=data)
87
91
 
88
92
  return response.json()
biolib/biolib_logging.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import logging
2
- import sys
3
2
  import os
3
+ import sys
4
4
 
5
5
  _DEFAULT_LOGGER_FORMAT = '%(asctime)s | %(levelname)s : %(message)s'
6
6
 
@@ -14,7 +14,6 @@ logging.addLevelName(TRACE, 'TRACE')
14
14
 
15
15
  # note: Logger classes should never be instantiated directly
16
16
  class _BioLibLogger(logging.Logger):
17
-
18
17
  def __init__(self, name: str, level=logging.INFO):
19
18
  super(_BioLibLogger, self).__init__(name=name, level=level)
20
19
 
@@ -44,7 +43,7 @@ class _BioLibLogger(logging.Logger):
44
43
 
45
44
  def _get_biolib_logger_instance(name: str) -> _BioLibLogger:
46
45
  # for thread safety use the global lock of logging
47
- logging._acquireLock() # type: ignore # pylint: disable=protected-access
46
+ logging._lock.acquire() # type: ignore # pylint: disable=protected-access
48
47
 
49
48
  original_logger_class = logging.getLoggerClass()
50
49
  try:
@@ -55,7 +54,7 @@ def _get_biolib_logger_instance(name: str) -> _BioLibLogger:
55
54
  logging.setLoggerClass(original_logger_class)
56
55
  return biolib_logger # type: ignore
57
56
  finally:
58
- logging._releaseLock() # type: ignore # pylint: disable=protected-access
57
+ logging._lock.release() # type: ignore # pylint: disable=protected-access
59
58
 
60
59
 
61
60
  def _get_no_user_data_logger() -> _BioLibLogger:
biolib/jobs/job.py CHANGED
@@ -437,8 +437,9 @@ class Job:
437
437
  timeout: Optional[int] = None,
438
438
  notify: bool = False,
439
439
  requested_machine_count: Optional[int] = None,
440
+ temporary_client_secrets: Optional[Dict[str, str]] = None,
440
441
  ) -> 'Job':
441
- if len(module_input_serialized) < 500_000:
442
+ if len(module_input_serialized) < 500_000 and temporary_client_secrets is None:
442
443
  _job_dict = BiolibJobApi.create_job_with_data(
443
444
  app_resource_name_prefix=parse_app_uri(app_uri)['resource_name_prefix'],
444
445
  app_version_uuid=app_version_uuid,
@@ -462,6 +463,7 @@ class Job:
462
463
  override_command=override_command,
463
464
  timeout=timeout,
464
465
  requested_machine_count=requested_machine_count,
466
+ temporary_client_secrets=temporary_client_secrets,
465
467
  )
466
468
  JobStorage.upload_module_input(job=job_dict, module_input_serialized=module_input_serialized)
467
469
  cloud_job = BiolibJobApi.create_cloud_job(job_id=job_dict['public_id'], result_name_prefix=result_prefix)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybiolib
3
- Version: 1.2.243
3
+ Version: 1.2.252
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -31,14 +31,14 @@ biolib/_runtime/runtime.py,sha256=bZQ0m39R9jOBVAtlyvzDnOobKueOAQUCwMUZjDQnO7E,44
31
31
  biolib/api/__init__.py,sha256=mQ4u8FijqyLzjYMezMUUbbBGNB3iFmkNdjXnWPZ7Jlw,138
32
32
  biolib/api/client.py,sha256=FRpdH5aI187b_I_4HUNi680v4iOP65z5f2RcUo8D8MA,3559
33
33
  biolib/app/__init__.py,sha256=cdPtcfb_U-bxb9iSL4fCEq2rpD9OjkyY4W-Zw60B0LI,37
34
- biolib/app/app.py,sha256=2bbwSZOYfWk-_Cw2n0yvMo0maYp1lZ0Z0YlhS1iK-jY,8727
34
+ biolib/app/app.py,sha256=mJafDLtnoX66egHF94NrUhmhzjpFzvRj2STh0RVGJCY,8862
35
35
  biolib/app/search_apps.py,sha256=K4a41f5XIWth2BWI7OffASgIsD0ko8elCax8YL2igaY,1470
36
36
  biolib/biolib_api_client/__init__.py,sha256=E5EMa19wJoblwSdQPYrxc_BtIeRsAuO0L_jQweWw-Yk,182
37
37
  biolib/biolib_api_client/api_client.py,sha256=ciNx4ybpyKG5LEf4KQdGEz13r0jTxImyQat4_HDecD0,7373
38
38
  biolib/biolib_api_client/app_types.py,sha256=1sXz9XnLRKNALMglNdTbew7AL6OkcUan0MPdj4xQLis,2456
39
39
  biolib/biolib_api_client/auth.py,sha256=kjm0ZHnH3I8so3su2sZbBxNHYp-ZUdrZ5lwQ0K36RSw,949
40
40
  biolib/biolib_api_client/biolib_app_api.py,sha256=RUXrTxk7XKzm4wxv7NBXttuFjT60DI9vNOvkS-cjKNc,5065
41
- biolib/biolib_api_client/biolib_job_api.py,sha256=7bKfav3-12ewXkEUoLdCmbWdebW8148kxfGJW9SsXZI,7125
41
+ biolib/biolib_api_client/biolib_job_api.py,sha256=49SBozudLYlOByuQMABiHZkwK5Jt5_orjv8Vw0rJpks,7306
42
42
  biolib/biolib_api_client/common_types.py,sha256=RH-1KNHqUF-EkTpfPOSTt5Mq1GPdfju_cqXDesscO1I,123
43
43
  biolib/biolib_api_client/job_types.py,sha256=yBdBwjharbQJuXCi2xKMi0t_r6XxnbWnkchHekTpCJY,1351
44
44
  biolib/biolib_api_client/lfs_types.py,sha256=joZWP6-sa5_Ug_6xIp5fHAgEo_bqLE3rbleQocZtDcg,339
@@ -58,7 +58,7 @@ biolib/biolib_binary_format/utils.py,sha256=jq31QEShs7TSrSKZBr8jif-bJAwVzQrqVxmy
58
58
  biolib/biolib_docker_client/__init__.py,sha256=aBfA6mtWSI5dBEfNNMD6bIZzCPloW4ghKm0wqQiljdo,1481
59
59
  biolib/biolib_download_container.py,sha256=8TmBV8iv3bCvkNlHa1SSsc4zl0wX_eaxhfnW5rvFIh8,1779
60
60
  biolib/biolib_errors.py,sha256=xtdo3ybqnc0jhd959kVmBczFdBczrFMr8cZyd4hjKLk,842
61
- biolib/biolib_logging.py,sha256=J3E5H_LL5k6ZUim2C8gqN7E6lCBZMTpO4tnMpOPwG9U,2854
61
+ biolib/biolib_logging.py,sha256=S2y6fk7jjxZQMN2BtKkHBb4JbVQQSSU97T7ep4P_QCE,2855
62
62
  biolib/cli/__init__.py,sha256=0v3c_J-U0k46c5ZWeQjLG_kTaKDJm81LBxQpDO2B_aI,1286
63
63
  biolib/cli/auth.py,sha256=rpWGmXs6Fz6CGrO9K8ibPRszOdXG78Vig_boKaVCD9A,2082
64
64
  biolib/cli/data_record.py,sha256=t8DfJK2EZ_SNZ9drDA_N5Jqy8DNwf9f5SlFrIaOvtv0,3501
@@ -103,7 +103,7 @@ biolib/compute_node/webserver/worker_thread.py,sha256=GRRBUqXdMKvbjyLQhYlqGIbFKe
103
103
  biolib/experiments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  biolib/experiments/experiment.py,sha256=m7FB7hot8CMOVrNyWGPB6FTkWQJwI0ytpIvtPxfoPME,7684
105
105
  biolib/jobs/__init__.py,sha256=aIb2H2DHjQbM2Bs-dysFijhwFcL58Blp0Co0gimED3w,32
106
- biolib/jobs/job.py,sha256=et1slGdzczp112iJlHVp_7eTyhGoGSKxP31jgAwQuiM,20163
106
+ biolib/jobs/job.py,sha256=W0r9_AbHha1lC99U_kUuzDmavFQe7WLxs83Wp3g_3ZU,20330
107
107
  biolib/jobs/job_result.py,sha256=rALHiKYNaC9lHi_JJqBob1RubzNLwG9Z386kwRJjd2M,5885
108
108
  biolib/jobs/types.py,sha256=ezvaoTANsWazK6PmfpYcqezdfjP7MNBEBfqIZGoZhz8,997
109
109
  biolib/runtime/__init__.py,sha256=MlRepA11n2H-3plB5rzWyyHK2JmP6PiaP3i6x3vt0mg,506
@@ -120,8 +120,8 @@ biolib/utils/cache_state.py,sha256=u256F37QSRIVwqKlbnCyzAX4EMI-kl6Dwu6qwj-Qmag,3
120
120
  biolib/utils/multipart_uploader.py,sha256=XvGP1I8tQuKhAH-QugPRoEsCi9qvbRk-DVBs5PNwwJo,8452
121
121
  biolib/utils/seq_util.py,sha256=Ozk0blGtPur_D9MwShD02r_mphyQmgZkx-lOHOwnlIM,6730
122
122
  biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
123
- pybiolib-1.2.243.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
124
- pybiolib-1.2.243.dist-info/METADATA,sha256=dy8qNUvcjUm8Fia1ShHh4Gf2jsEt56KLUOhOcbmRjg0,1558
125
- pybiolib-1.2.243.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
126
- pybiolib-1.2.243.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
127
- pybiolib-1.2.243.dist-info/RECORD,,
123
+ pybiolib-1.2.252.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
124
+ pybiolib-1.2.252.dist-info/METADATA,sha256=1JftPlZ5tUpXRs3iDQk5MZwE_F-h3ZeMjIJc8hFcZos,1558
125
+ pybiolib-1.2.252.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
126
+ pybiolib-1.2.252.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
127
+ pybiolib-1.2.252.dist-info/RECORD,,