pybiolib 1.1.801__tar.gz → 1.1.809__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.
Files changed (110) hide show
  1. {pybiolib-1.1.801 → pybiolib-1.1.809}/PKG-INFO +1 -1
  2. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/__init__.py +1 -3
  3. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/remote_host_proxy.py +1 -0
  4. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/experiments/experiment.py +6 -0
  5. {pybiolib-1.1.801 → pybiolib-1.1.809}/pyproject.toml +1 -1
  6. pybiolib-1.1.801/biolib/cli/run_dev.py +0 -95
  7. pybiolib-1.1.801/setup.py +0 -72
  8. {pybiolib-1.1.801 → pybiolib-1.1.809}/LICENSE +0 -0
  9. {pybiolib-1.1.801 → pybiolib-1.1.809}/README.md +0 -0
  10. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/__init__.py +0 -0
  11. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/api/__init__.py +0 -0
  12. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/api/client.py +0 -0
  13. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/app/__init__.py +0 -0
  14. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/app/app.py +0 -0
  15. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/app/search_apps.py +0 -0
  16. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/app/utils.py +0 -0
  17. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/__init__.py +0 -0
  18. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/api_client.py +0 -0
  19. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/app_types.py +0 -0
  20. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/auth.py +0 -0
  21. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/biolib_account_api.py +0 -0
  22. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  23. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  24. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/biolib_large_file_system_api.py +0 -0
  25. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/common_types.py +0 -0
  26. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/job_types.py +0 -0
  27. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/lfs_types.py +0 -0
  28. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_api_client/user_state.py +0 -0
  29. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/__init__.py +0 -0
  30. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  31. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/common_types.py +0 -0
  32. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/encrypted_module_output.py +0 -0
  33. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/module_input.py +0 -0
  34. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/module_output.py +0 -0
  35. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/rsa_encrypted_aes_package.py +0 -0
  36. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/saved_job.py +0 -0
  37. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  38. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/system_exception.py +0 -0
  39. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/system_status_update.py +0 -0
  40. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/unencrypted_module_output.py +0 -0
  41. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_binary_format/utils.py +0 -0
  42. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_docker_client/__init__.py +0 -0
  43. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_errors.py +0 -0
  44. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_logging.py +0 -0
  45. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/biolib_push.py +0 -0
  46. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/init.py +0 -0
  47. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/lfs.py +0 -0
  48. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/push.py +0 -0
  49. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/run.py +0 -0
  50. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/runtime.py +0 -0
  51. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli/start.py +0 -0
  52. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/cli_utils.py +0 -0
  53. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/.gitignore +0 -0
  54. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/__init__.py +0 -0
  55. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  56. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  57. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/__init__.py +0 -0
  58. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/cache_state.py +0 -0
  59. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/cache_types.py +0 -0
  60. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  61. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  62. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/base_executor.py +0 -0
  63. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  64. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  65. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/remote/__init__.py +0 -0
  66. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/remote/remote_executor.py +0 -0
  67. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  68. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/executors/types.py +0 -0
  69. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  70. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  71. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/job_storage.py +0 -0
  72. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/job_worker.py +0 -0
  73. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  74. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/mappings.py +0 -0
  75. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/job_worker/utils.py +0 -0
  76. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/socker_listener_thread.py +0 -0
  77. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/socket_sender_thread.py +0 -0
  78. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/utils.py +0 -0
  79. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/webserver/__init__.py +0 -0
  80. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  81. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/webserver/webserver.py +0 -0
  82. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/webserver/webserver_types.py +0 -0
  83. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  84. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/compute_node/webserver/worker_thread.py +0 -0
  85. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/experiments/__init__.py +0 -0
  86. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/experiments/types.py +0 -0
  87. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/jobs/__init__.py +0 -0
  88. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/jobs/job.py +0 -0
  89. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/jobs/job_result.py +0 -0
  90. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/jobs/types.py +0 -0
  91. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/lfs/__init__.py +0 -0
  92. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/lfs/utils.py +0 -0
  93. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/runtime/__init__.py +0 -0
  94. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/runtime/results.py +0 -0
  95. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/start_cli.py +0 -0
  96. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/tables.py +0 -0
  97. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/templates/__init__.py +0 -0
  98. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/templates/example_app.py +0 -0
  99. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/typing_utils.py +0 -0
  100. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/user/__init__.py +0 -0
  101. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/user/sign_in.py +0 -0
  102. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/utils/__init__.py +0 -0
  103. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/utils/cache_state.py +0 -0
  104. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/utils/multipart_uploader.py +0 -0
  105. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/utils/zip/remote_zip.py +0 -0
  106. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/validators/validate_app_version.py +0 -0
  107. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/validators/validate_argument.py +0 -0
  108. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/validators/validate_module.py +0 -0
  109. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/validators/validate_zip_file.py +0 -0
  110. {pybiolib-1.1.801 → pybiolib-1.1.809}/biolib/validators/validator_utils.py +0 -0
@@ -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
@@ -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
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.1.801"
3
+ version = "1.1.809"
4
4
  description = "BioLib Python Client"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -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')
pybiolib-1.1.801/setup.py DELETED
@@ -1,72 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- from setuptools import setup
3
-
4
- packages = \
5
- ['biolib',
6
- 'biolib.api',
7
- 'biolib.app',
8
- 'biolib.biolib_api_client',
9
- 'biolib.biolib_binary_format',
10
- 'biolib.biolib_docker_client',
11
- 'biolib.cli',
12
- 'biolib.compute_node',
13
- 'biolib.compute_node.cloud_utils',
14
- 'biolib.compute_node.job_worker',
15
- 'biolib.compute_node.job_worker.executors',
16
- 'biolib.compute_node.job_worker.executors.remote',
17
- 'biolib.compute_node.job_worker.executors.tars',
18
- 'biolib.compute_node.webserver',
19
- 'biolib.experiments',
20
- 'biolib.jobs',
21
- 'biolib.lfs',
22
- 'biolib.runtime',
23
- 'biolib.templates',
24
- 'biolib.user',
25
- 'biolib.utils',
26
- 'biolib.utils.zip',
27
- 'biolib.validators']
28
-
29
- package_data = \
30
- {'': ['*']}
31
-
32
- install_requires = \
33
- ['appdirs>=1.4.3',
34
- 'click>=8.0.0,<8.1.0',
35
- 'docker>=5.0.3',
36
- 'flask-cors>=3.0.10',
37
- 'flask>=2.0.1',
38
- 'gunicorn>=20.1.0',
39
- 'importlib-metadata>=1.6.1',
40
- 'pycryptodome>=3.9.9',
41
- 'pyjwt>=2.3.0',
42
- 'pyyaml>=5.3.1',
43
- 'requests>=2.25.1',
44
- 'rich>=12.4.4,<13.0.0']
45
-
46
- extras_require = \
47
- {':python_version < "3.8"': ['typing_extensions>=3.10.0',
48
- 'typing_inspect>=0.5.0,<0.6.0']}
49
-
50
- entry_points = \
51
- {'console_scripts': ['biolib = biolib:call_cli']}
52
-
53
- setup_kwargs = {
54
- 'name': 'pybiolib',
55
- 'version': '1.1.801',
56
- 'description': 'BioLib Python Client',
57
- 'long_description': "# PyBioLib\n\nPyBioLib is a Python package for running BioLib applications from Python scripts and the command line.\n\n### Python Example\n```python\n# pip3 install -U pybiolib\nimport biolib\nsamtools = biolib.load('samtools/samtools')\nprint(samtools.cli(args='--help'))\n```\n\n### Command Line Example\n```bash\npip3 install -U pybiolib\nbiolib run samtools/samtools --help\n```\n",
58
- 'author': 'biolib',
59
- 'author_email': 'hello@biolib.com',
60
- 'maintainer': 'None',
61
- 'maintainer_email': 'None',
62
- 'url': 'https://github.com/biolib',
63
- 'packages': packages,
64
- 'package_data': package_data,
65
- 'install_requires': install_requires,
66
- 'extras_require': extras_require,
67
- 'entry_points': entry_points,
68
- 'python_requires': '>=3.6.3,<4.0.0',
69
- }
70
-
71
-
72
- setup(**setup_kwargs)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes