pybiolib 1.2.437__tar.gz → 1.2.464__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 (124) hide show
  1. {pybiolib-1.2.437 → pybiolib-1.2.464}/PKG-INFO +1 -1
  2. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/worker_thread.py +8 -3
  3. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/job.py +19 -7
  4. {pybiolib-1.2.437 → pybiolib-1.2.464}/pyproject.toml +1 -1
  5. {pybiolib-1.2.437 → pybiolib-1.2.464}/LICENSE +0 -0
  6. {pybiolib-1.2.437 → pybiolib-1.2.464}/PYPI_README.md +0 -0
  7. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/__init__.py +0 -0
  8. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_data_record/data_record.py +0 -0
  9. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/__init__.py +0 -0
  10. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/__init__.py +0 -0
  11. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/data_record.py +0 -0
  12. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/push_data.py +0 -0
  13. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  14. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/file_utils.py +0 -0
  15. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/fuse_mount/__init__.py +0 -0
  16. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  17. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/http_client.py +0 -0
  18. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/lfs/__init__.py +0 -0
  19. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/lfs/cache.py +0 -0
  20. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/libs/__init__.py +0 -0
  21. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  22. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/push_application.py +0 -0
  23. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/runtime.py +0 -0
  24. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/__init__.py +0 -0
  25. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/app.py +0 -0
  26. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/data_record.py +0 -0
  27. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/experiment.py +0 -0
  28. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/file_node.py +0 -0
  29. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/resource.py +0 -0
  30. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/resource_version.py +0 -0
  31. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/typing.py +0 -0
  32. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/utils/__init__.py +0 -0
  33. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/utils/multinode.py +0 -0
  34. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_runtime/runtime.py +0 -0
  35. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/api/__init__.py +0 -0
  36. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/api/client.py +0 -0
  37. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/app/__init__.py +0 -0
  38. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/app/app.py +0 -0
  39. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/app/search_apps.py +0 -0
  40. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/__init__.py +0 -0
  41. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/api_client.py +0 -0
  42. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/app_types.py +0 -0
  43. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/auth.py +0 -0
  44. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  45. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  46. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/common_types.py +0 -0
  47. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/job_types.py +0 -0
  48. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/lfs_types.py +0 -0
  49. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/user_state.py +0 -0
  50. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/__init__.py +0 -0
  51. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  52. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/file_in_container.py +0 -0
  53. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/module_input.py +0 -0
  54. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  55. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  56. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  57. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/saved_job.py +0 -0
  58. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  59. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/system_exception.py +0 -0
  60. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/system_status_update.py +0 -0
  61. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/utils.py +0 -0
  62. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_docker_client/__init__.py +0 -0
  63. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_download_container.py +0 -0
  64. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_errors.py +0 -0
  65. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_logging.py +0 -0
  66. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/__init__.py +0 -0
  67. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/auth.py +0 -0
  68. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/data_record.py +0 -0
  69. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/download_container.py +0 -0
  70. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/init.py +0 -0
  71. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/lfs.py +0 -0
  72. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/push.py +0 -0
  73. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/run.py +0 -0
  74. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/runtime.py +0 -0
  75. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/start.py +0 -0
  76. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/.gitignore +0 -0
  77. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/__init__.py +0 -0
  78. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  79. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  80. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/__init__.py +0 -0
  81. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/cache_state.py +0 -0
  82. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/cache_types.py +0 -0
  83. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  84. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  85. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  86. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  87. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  88. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/types.py +0 -0
  89. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  90. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  91. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_storage.py +0 -0
  92. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_worker.py +0 -0
  93. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  94. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/mappings.py +0 -0
  95. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  96. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/utils.py +0 -0
  97. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/remote_host_proxy.py +0 -0
  98. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/socker_listener_thread.py +0 -0
  99. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/socket_sender_thread.py +0 -0
  100. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/utils.py +0 -0
  101. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/__init__.py +0 -0
  102. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  103. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/webserver.py +0 -0
  104. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/webserver_types.py +0 -0
  105. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  106. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/experiments/__init__.py +0 -0
  107. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/experiments/experiment.py +0 -0
  108. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/__init__.py +0 -0
  109. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/job_result.py +0 -0
  110. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/types.py +0 -0
  111. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/runtime/__init__.py +0 -0
  112. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/sdk/__init__.py +0 -0
  113. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/tables.py +0 -0
  114. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/templates/__init__.py +0 -0
  115. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/templates/example_app.py +0 -0
  116. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/typing_utils.py +0 -0
  117. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/user/__init__.py +0 -0
  118. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/user/sign_in.py +0 -0
  119. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/__init__.py +0 -0
  120. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/app_uri.py +0 -0
  121. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/cache_state.py +0 -0
  122. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/multipart_uploader.py +0 -0
  123. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/seq_util.py +0 -0
  124. {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/zip/remote_zip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pybiolib
3
- Version: 1.2.437
3
+ Version: 1.2.464
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  Keywords: biolib
@@ -179,7 +179,10 @@ class WorkerThread(threading.Thread):
179
179
  cloud_job_uuid = self.compute_state['cloud_job_id']
180
180
  system_exception_code = self.compute_state['status'].get('error_code')
181
181
 
182
- if utils.IS_RUNNING_IN_CLOUD and system_exception_code != SystemExceptionCodes.CANCELLED_BY_USER.value:
182
+ if utils.IS_RUNNING_IN_CLOUD and system_exception_code not in [
183
+ SystemExceptionCodes.CANCELLED_BY_USER.value,
184
+ SystemExceptionCodes.EXCEEDED_MAX_JOB_RUNTIME.value,
185
+ ]:
183
186
  CloudUtils.finish_cloud_job(
184
187
  cloud_job_id=cloud_job_uuid,
185
188
  system_exception_code=system_exception_code,
@@ -214,7 +217,10 @@ class WorkerThread(threading.Thread):
214
217
  CloudUtils.deregister(error='job_cleanup_timed_out')
215
218
  deregistered_due_to_error = True
216
219
 
217
- elif system_exception_code == SystemExceptionCodes.CANCELLED_BY_USER.value:
220
+ elif system_exception_code in [
221
+ SystemExceptionCodes.CANCELLED_BY_USER.value,
222
+ SystemExceptionCodes.EXCEEDED_MAX_JOB_RUNTIME.value,
223
+ ]:
218
224
  self.compute_state['exit_code'] = self._upload_module_output_and_get_exit_code()
219
225
  CloudUtils.finish_cloud_job(
220
226
  cloud_job_id=cloud_job_uuid,
@@ -222,7 +228,6 @@ class WorkerThread(threading.Thread):
222
228
  exit_code=self.compute_state.get('exit_code', None),
223
229
  )
224
230
 
225
-
226
231
  # Delete result as error occurred
227
232
  if system_exception_code and os.path.exists(self._job_temporary_dir):
228
233
  shutil.rmtree(self._job_temporary_dir)
@@ -19,7 +19,7 @@ from biolib.biolib_errors import BioLibError, CloudJobFinishedError
19
19
  from biolib.biolib_logging import logger, logger_no_user_data
20
20
  from biolib.compute_node.job_worker.job_storage import JobStorage
21
21
  from biolib.compute_node.utils import SystemExceptionCodeMap, SystemExceptionCodes
22
- from biolib.jobs.job_result import JobResult
22
+ from biolib.jobs.job_result import JobResult, PathFilter
23
23
  from biolib.jobs.types import CloudJobDict, CloudJobStartedDict, JobDict
24
24
  from biolib.tables import BioLibTable
25
25
  from biolib.typing_utils import Dict, List, Optional, Union, cast
@@ -102,11 +102,14 @@ class Job:
102
102
  state=self._job_dict['state'],
103
103
  )
104
104
 
105
- def list_output_files(self, *args, **kwargs) -> List[LazyLoadedFile]:
106
- return self.result.list_output_files(*args, **kwargs)
105
+ def list_output_files(
106
+ self,
107
+ path_filter: Optional[PathFilter] = None,
108
+ ) -> List[LazyLoadedFile]:
109
+ return self.result.list_output_files(path_filter=path_filter)
107
110
 
108
- def get_output_file(self, *args, **kwargs) -> LazyLoadedFile:
109
- return self.result.get_output_file(*args, **kwargs)
111
+ def get_output_file(self, filename: str) -> LazyLoadedFile:
112
+ return self.result.get_output_file(filename=filename)
110
113
 
111
114
  def load_file_as_numpy(self, *args, **kwargs):
112
115
  try:
@@ -165,8 +168,17 @@ class Job:
165
168
 
166
169
  logger.info(f' - {destination_file_path}')
167
170
 
168
- def save_files(self, *args, **kwargs) -> None:
169
- self.result.save_files(*args, **kwargs)
171
+ def save_files(
172
+ self,
173
+ output_dir: str,
174
+ path_filter: Optional[PathFilter] = None,
175
+ skip_file_if_exists: Optional[bool] = None,
176
+ ) -> None:
177
+ self.result.save_files(
178
+ output_dir=output_dir,
179
+ path_filter=path_filter,
180
+ skip_file_if_exists=skip_file_if_exists,
181
+ )
170
182
 
171
183
  def get_status(self) -> str:
172
184
  self._refetch_job_dict()
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.2.437"
3
+ version = "1.2.464"
4
4
  description = "BioLib Python Client"
5
5
  readme = "PYPI_README.md"
6
6
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes