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.
- {pybiolib-1.2.437 → pybiolib-1.2.464}/PKG-INFO +1 -1
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/worker_thread.py +8 -3
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/job.py +19 -7
- {pybiolib-1.2.437 → pybiolib-1.2.464}/pyproject.toml +1 -1
- {pybiolib-1.2.437 → pybiolib-1.2.464}/LICENSE +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/PYPI_README.md +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_data_record/data_record.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/data_record.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/push_data.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/file_utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/fuse_mount/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/http_client.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/lfs/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/lfs/cache.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/libs/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/libs/fusepy/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/push_application.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/runtime.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/app.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/data_record.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/experiment.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/file_node.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/resource.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/resource_version.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/types/typing.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/utils/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/utils/multinode.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_runtime/runtime.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/api/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/api/client.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/app/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/app/app.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/app/search_apps.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/api_client.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/app_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/auth.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/biolib_app_api.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/biolib_job_api.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/common_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/job_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/lfs_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_api_client/user_state.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/file_in_container.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/module_input.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/module_output_v2.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/saved_job.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/system_exception.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/system_status_update.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_binary_format/utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_docker_client/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_download_container.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_errors.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/biolib_logging.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/auth.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/data_record.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/download_container.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/init.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/lfs.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/push.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/run.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/runtime.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/cli/start.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/.gitignore +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/cloud_utils/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/cache_state.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/cache_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_storage.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_worker.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/large_file_system.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/mappings.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/remote_host_proxy.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/socker_listener_thread.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/socket_sender_thread.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/webserver.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/webserver_types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/webserver_utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/experiments/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/experiments/experiment.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/job_result.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/jobs/types.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/runtime/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/sdk/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/tables.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/templates/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/templates/example_app.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/typing_utils.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/user/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/user/sign_in.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/__init__.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/app_uri.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/cache_state.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/multipart_uploader.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/seq_util.py +0 -0
- {pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/utils/zip/remote_zip.py +0 -0
@@ -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
|
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
|
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(
|
106
|
-
|
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,
|
109
|
-
return self.result.get_output_file(
|
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(
|
169
|
-
self
|
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()
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/_internal/data_record/remote_storage_endpoint.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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/docker_executor.py
RENAMED
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/docker_types.py
RENAMED
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/executors/tars/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/job_worker/utilization_reporter_thread.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.437 → pybiolib-1.2.464}/biolib/compute_node/webserver/gunicorn_flask_application.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|