pybiolib 1.1.801__py3-none-any.whl → 1.1.809__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/cli/__init__.py CHANGED
@@ -4,7 +4,7 @@ import click
4
4
 
5
5
  from biolib import utils
6
6
  from biolib.biolib_logging import logger, logger_no_user_data
7
- from biolib.cli import init, lfs, push, run, run_dev, start, runtime
7
+ from biolib.cli import init, lfs, push, run, start, runtime
8
8
 
9
9
 
10
10
  @click.version_option(version=utils.BIOLIB_PACKAGE_VERSION, prog_name='pybiolib')
@@ -23,8 +23,6 @@ cli.add_command(lfs.lfs)
23
23
  cli.add_command(push.push)
24
24
  cli.add_command(run.run)
25
25
  cli.add_command(runtime.runtime)
26
- # TODO: Remove this function
27
- cli.add_command(run_dev.run_dev) # type: ignore
28
26
  cli.add_command(start.start)
29
27
 
30
28
  # allow this script to be called without poetry in dev e.g. by an IDE debugger
@@ -248,6 +248,7 @@ http {{
248
248
  # Note: Using $1 here as URI part from regex must be used for proxy_pass
249
249
  proxy_pass {base_url}/api/jobs/$1;
250
250
  proxy_set_header authorization $bearer_token_on_post;
251
+ proxy_set_header caller-job-uuid "{self._job_uuid}";
251
252
  proxy_set_header cookie "";
252
253
  proxy_ssl_server_name on;
253
254
  }}
@@ -76,6 +76,12 @@ class Experiment:
76
76
 
77
77
  print(f'All jobs of experiment {self.name} have finished')
78
78
 
79
+ def add_job(self, job_id: str) -> None:
80
+ api.client.patch(
81
+ path=f'/jobs/{job_id}/',
82
+ data={'experiment_uuid': self.uuid}
83
+ )
84
+
79
85
  def export_job_list(self, export_format='dicts'):
80
86
  valid_formats = ('dicts', 'dataframe')
81
87
  if export_format not in valid_formats:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybiolib
3
- Version: 1.1.801
3
+ Version: 1.1.809
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -36,12 +36,11 @@ biolib/biolib_docker_client/__init__.py,sha256=aBfA6mtWSI5dBEfNNMD6bIZzCPloW4ghK
36
36
  biolib/biolib_errors.py,sha256=x1NZJrAFcwybc2VlwlIduJPsUhAV1qNbSsMaU8CpVyQ,532
37
37
  biolib/biolib_logging.py,sha256=J3E5H_LL5k6ZUim2C8gqN7E6lCBZMTpO4tnMpOPwG9U,2854
38
38
  biolib/biolib_push.py,sha256=QHAA0TJjbjEKFYlHeKX14SEyDUHP9tc0b0OX4KtqszA,10225
39
- biolib/cli/__init__.py,sha256=WIyZZeR264YORS8gUe6_gAJIB0b1Cgxt5wx1UhsV8k4,1034
39
+ biolib/cli/__init__.py,sha256=nf0tgrilBU1StpK58h2YZ3LEPtce2ywW5dzQcFaBOcc,947
40
40
  biolib/cli/init.py,sha256=Rd6_zpQxQbB0UaSEBFxfsL2j64YuINilNzhDydDDBig,820
41
41
  biolib/cli/lfs.py,sha256=oYsSsHv_ZddcUN_R_SaaytvMM4QEtG3Inn5cV7zML-o,1635
42
42
  biolib/cli/push.py,sha256=imubLFA0BlXrdwHnIyaxhok6mbVQfZ5NCNNTf4c89rs,798
43
43
  biolib/cli/run.py,sha256=F7izVu0dRLS0gPD2WWhOAEv0KCWqQtyRD_zw7gMV5Gc,1309
44
- biolib/cli/run_dev.py,sha256=XIPiOrQUtpT82bNy923-1sPtcaeLed3wFuongPQrLqk,3765
45
44
  biolib/cli/runtime.py,sha256=Xv-nrma5xX8NidWcvbUKcUvuN5TCarZa4A8mPVmF-z0,361
46
45
  biolib/cli/start.py,sha256=CVcv5ZrqJx8vIgEfW_ls7WlU1vNer96Rvr4MjP8-SZM,1284
47
46
  biolib/cli_utils.py,sha256=uDMdbcn7NP4cBGPeGr6vtiTvy0OOCyAjdVEokSYkFIg,8947
@@ -68,7 +67,7 @@ biolib/compute_node/job_worker/job_worker.py,sha256=5K7dwCCrlogDMjOcP0sQHhjwR-zZ
68
67
  biolib/compute_node/job_worker/large_file_system.py,sha256=K_tyz01ZLvGim_M7ox-ecKTOosaguLHDuSZX4aHJYZw,10277
69
68
  biolib/compute_node/job_worker/mappings.py,sha256=Z48Kg4nbcOvsT2-9o3RRikBkqflgO4XeaWxTGz-CNvI,2499
70
69
  biolib/compute_node/job_worker/utils.py,sha256=wgxcIA8yAhUPdCwyvuuJ0JmreyWmmUoBO33vWtG60xg,1282
71
- biolib/compute_node/remote_host_proxy.py,sha256=BK4sd_Yrwvs8eA2hmx6U0GKs-rTm4Vmuro855jpYu6o,12727
70
+ biolib/compute_node/remote_host_proxy.py,sha256=tKtYdpJNoNTSN3tH2Im_U33uUXsbj1WB1EOrxXi50Rg,12800
72
71
  biolib/compute_node/socker_listener_thread.py,sha256=T5_UikA3MB9bD5W_dckYLPTgixh72vKUlgbBvj9dbM0,1601
73
72
  biolib/compute_node/socket_sender_thread.py,sha256=YgamPHeUm2GjMFGx8qk-99WlZhEs-kAb3q_2O6qByig,971
74
73
  biolib/compute_node/utils.py,sha256=WuCipw4_0c33hzjmJnr53MuXo_R8TEowy5A1QF1Eb3c,4434
@@ -79,7 +78,7 @@ biolib/compute_node/webserver/webserver_types.py,sha256=Vmt1ZDecYhGBVEYWcW1DVxee
79
78
  biolib/compute_node/webserver/webserver_utils.py,sha256=XWvwYPbWNR3qS0FYbLLp-MDDfVk0QdaAmg3xPrT0H2s,4234
80
79
  biolib/compute_node/webserver/worker_thread.py,sha256=JngK_wVADJnrX04KZ99o4BzZWaozZxYl1wQElwkLYYo,9900
81
80
  biolib/experiments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- biolib/experiments/experiment.py,sha256=mzO-VgWkPfqMF7z2DnESNcZo8zUHR4dXIySEr8H4gII,5773
81
+ biolib/experiments/experiment.py,sha256=NjJOFktfTbgHNtIDavyQP_uL_-gSGwYHfycybPLJRKU,5939
83
82
  biolib/experiments/types.py,sha256=n9GxdFA7cLMfHvLLqLmZzX31ELeSSkMXFoEEdFsdWGY,171
84
83
  biolib/jobs/__init__.py,sha256=aIb2H2DHjQbM2Bs-dysFijhwFcL58Blp0Co0gimED3w,32
85
84
  biolib/jobs/job.py,sha256=cCR8XGYAqU22tFr1I7g09Pj65I-OqN95iSo9K5Nah7w,14007
@@ -105,8 +104,8 @@ biolib/validators/validate_argument.py,sha256=B-tqgMgXuTvJLhaMWcBTUKw18L5brJtIdf
105
104
  biolib/validators/validate_module.py,sha256=aHe0YAWFSrMbZNw-h64oweqruDS-k7KOUzK1ECpG8Wg,13298
106
105
  biolib/validators/validate_zip_file.py,sha256=2j8kJ1WF2u5OyMkfEDCoU_BvOtr8gLPWTtsmUG0zQ5g,1655
107
106
  biolib/validators/validator_utils.py,sha256=2QCJWdKiLTUHsvjDidrXKBjH95kKsEmFwd17muTGL0M,2135
108
- pybiolib-1.1.801.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
109
- pybiolib-1.1.801.dist-info/METADATA,sha256=pGZCb5UhynRrIKd8UENHOkRGrXE8cutujDU2qnJW_Hw,1651
110
- pybiolib-1.1.801.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
111
- pybiolib-1.1.801.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
112
- pybiolib-1.1.801.dist-info/RECORD,,
107
+ pybiolib-1.1.809.dist-info/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
108
+ pybiolib-1.1.809.dist-info/METADATA,sha256=RM5_L9xRwOjavPyJoEecwpYO3YDUni5pBCiHWxSCIB0,1651
109
+ pybiolib-1.1.809.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
110
+ pybiolib-1.1.809.dist-info/entry_points.txt,sha256=p6DyaP_2kctxegTX23WBznnrDi4mz6gx04O5uKtRDXg,42
111
+ pybiolib-1.1.809.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.4.0
2
+ Generator: poetry-core 1.5.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
biolib/cli/run_dev.py DELETED
@@ -1,95 +0,0 @@
1
- # type: ignore
2
- # TODO: Remove this file and function
3
- import sys
4
- import click
5
- from docker.errors import ImageNotFound # type: ignore
6
-
7
- from biolib import utils, cli_utils
8
- from biolib.app.utils import run_job
9
- from biolib.biolib_binary_format import ModuleInput
10
- from biolib.biolib_docker_client import BiolibDockerClient
11
- from biolib.biolib_logging import logger, logger_no_user_data
12
- from biolib.biolib_api_client import CreatedJobDict
13
- from biolib.cli_utils import BiolibValidationError
14
- from biolib.typing_utils import Tuple
15
- from biolib.validators.validate_zip_file import validate_zip_file # type: ignore
16
-
17
-
18
- @click.command(
19
- context_settings=dict(ignore_unknown_options=True, allow_interspersed_args=False),
20
- help='Run an application from a local directory',
21
- hidden=True,
22
- )
23
- @click.argument('path', required=True)
24
- @click.argument('args', nargs=-1, type=click.UNPROCESSED)
25
- def run_dev(path: str, args: Tuple[str]) -> None:
26
- app_path = cli_utils.validate_and_get_app_path(path)
27
- logger.info(f'Running BioLib application in local directory {app_path}...')
28
- tmp_directory, source_files_zip_path = cli_utils.create_temporary_directory_with_source_files_zip(app_path)
29
-
30
- try:
31
- validate_zip_file(source_files_zip_path, app_path)
32
- yaml_data = cli_utils.get_yaml_data(app_path)
33
- cli_utils.validate_yaml_config(yaml_data, source_files_zip_path)
34
- app_version_mocked = cli_utils.get_mocked_app_version_from_yaml(yaml_data, source_files_zip_path)
35
-
36
- for module in app_version_mocked['modules']:
37
- try:
38
- BiolibDockerClient.get_docker_client().images.get(module['image_uri'])
39
- except ImageNotFound:
40
- raise Exception(
41
- f"Could not find local docker image {module['image_uri']} specified in .biolib/config.yml"
42
- ) from None
43
-
44
- args = cli_utils.validate_and_get_args(list(args))
45
- files_dict, args = cli_utils.get_files_dict_and_file_args(files=None, args=args)
46
-
47
- def _get_stdin():
48
- stdin = None
49
- if not sys.stdin.isatty() and not utils.IS_DEV:
50
- stdin = sys.stdin.read()
51
- return stdin
52
-
53
- module_input_serialized = ModuleInput().serialize(
54
- stdin=_get_stdin() or b'',
55
- files=files_dict,
56
- arguments=args,
57
- )
58
-
59
- module_output = run_job(
60
- module_input_serialized=module_input_serialized,
61
- job=CreatedJobDict(
62
- app_version=app_version_mocked,
63
- arguments_override_command=False,
64
- auth_token='',
65
- caller_job=None,
66
- created_at='',
67
- federated_job_uuid=None,
68
- public_id=utils.RUN_DEV_JOB_ID,
69
- remote_hosts_with_warning=[],
70
- state='in_progress',
71
- user_id=None,
72
- ),
73
- force_local=True,
74
- )
75
-
76
- cli_utils.write_output_files(module_output['files']) # type: ignore
77
-
78
- print(cli_utils.get_pretty_print_module_output_string(
79
- exitcode=module_output['exit_code'], # type: ignore
80
- stderr=module_output['stderr'], # type: ignore
81
- stdout=module_output['stdout'], # type: ignore
82
- ))
83
-
84
- except Exception as exception:
85
- # Exit on BiolibValidationError as we have already printed the validation errors
86
- if isinstance(exception, BiolibValidationError):
87
- logger_no_user_data.error('Validation check failed for config file at .biolib/config.yml')
88
- exit(1)
89
- raise exception
90
-
91
- finally:
92
- try:
93
- tmp_directory.cleanup()
94
- except IOError:
95
- logger_no_user_data.error('Failed to clean up temporary source files zip directory')