pybiolib 1.2.342.dev1__tar.gz → 1.2.347__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.342.dev1 → pybiolib-1.2.347}/PKG-INFO +1 -1
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/http_client.py +1 -1
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/api/client.py +13 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/experiments/experiment.py +22 -1
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/pyproject.toml +1 -1
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/LICENSE +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/PYPI_README.md +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_data_record/data_record.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/data_record/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/data_record/data_record.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/data_record/push_data.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/file_utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/fuse_mount/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/lfs/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/lfs/cache.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/libs/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/libs/fusepy/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/push_application.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/runtime.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/app.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/data_record.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/experiment.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/file_node.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/resource.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/resource_version.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/types/typing.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/utils/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/utils/multinode.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_runtime/runtime.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/api/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/app/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/app/app.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/app/search_apps.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/api_client.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/app_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/auth.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/biolib_app_api.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/biolib_job_api.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/common_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/job_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/lfs_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_api_client/user_state.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/file_in_container.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/module_input.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/module_output_v2.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/saved_job.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/system_exception.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/system_status_update.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_docker_client/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_download_container.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_errors.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_logging.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/auth.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/data_record.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/download_container.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/init.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/lfs.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/push.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/run.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/runtime.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/cli/start.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/.gitignore +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/cloud_utils/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/cache_state.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/cache_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/job_storage.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/job_worker.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/large_file_system.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/mappings.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/remote_host_proxy.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/socker_listener_thread.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/socket_sender_thread.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/webserver/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/webserver/webserver.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/webserver/webserver_types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/webserver/webserver_utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/webserver/worker_thread.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/experiments/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/jobs/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/jobs/job.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/jobs/job_result.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/jobs/types.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/runtime/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/sdk/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/tables.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/templates/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/templates/example_app.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/typing_utils.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/user/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/user/sign_in.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/utils/__init__.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/utils/app_uri.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/utils/cache_state.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/utils/multipart_uploader.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/utils/seq_util.py +0 -0
- {pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/utils/zip/remote_zip.py +0 -0
@@ -13,7 +13,7 @@ import urllib.request
|
|
13
13
|
from biolib.biolib_logging import logger_no_user_data
|
14
14
|
from biolib.typing_utils import Dict, Literal, Optional, Union, cast
|
15
15
|
|
16
|
-
_HttpMethod = Literal['GET', 'POST', 'PATCH', 'PUT']
|
16
|
+
_HttpMethod = Literal['GET', 'POST', 'PATCH', 'PUT', 'DELETE']
|
17
17
|
|
18
18
|
|
19
19
|
def _create_ssl_context():
|
@@ -70,6 +70,19 @@ class ApiClient(HttpClient):
|
|
70
70
|
url=self._get_absolute_url(path=path, query_params=params),
|
71
71
|
)
|
72
72
|
|
73
|
+
def delete(
|
74
|
+
self,
|
75
|
+
path: str,
|
76
|
+
headers: OptionalHeaders = None,
|
77
|
+
retries: int = 0,
|
78
|
+
) -> HttpResponse:
|
79
|
+
return self.request(
|
80
|
+
headers=self._get_headers(opt_headers=headers, authenticate=True),
|
81
|
+
method='DELETE',
|
82
|
+
retries=retries,
|
83
|
+
url=self._get_absolute_url(path=path, query_params=None),
|
84
|
+
)
|
85
|
+
|
73
86
|
@staticmethod
|
74
87
|
def _get_headers(opt_headers: OptionalHeaders, authenticate: bool) -> Dict[str, str]:
|
75
88
|
# Only keep header keys with a value
|
@@ -90,9 +90,30 @@ class Experiment:
|
|
90
90
|
|
91
91
|
print(f'All jobs of experiment {self.name} have finished')
|
92
92
|
|
93
|
-
def add_job(self, job_id: str) -> None:
|
93
|
+
def add_job(self, job: Optional[Union[Job, str]] = None, job_id: Optional[str] = None) -> None:
|
94
|
+
if job_id is not None:
|
95
|
+
print(
|
96
|
+
'WARNING: job_id argument is deprecated and may be removed in a future release.'
|
97
|
+
'Please use job argument instead.'
|
98
|
+
)
|
99
|
+
elif isinstance(job, Job):
|
100
|
+
job_id = job.id
|
101
|
+
elif isinstance(job, str):
|
102
|
+
job_id = job
|
103
|
+
elif job is None and job_id is None:
|
104
|
+
raise BioLibError('A job ID or job object must be provided to add job')
|
94
105
|
api.client.patch(path=f'/jobs/{job_id}/', data={'experiment_uuid': self.uuid})
|
95
106
|
|
107
|
+
def remove_job(self, job: Union[Job, str]) -> None:
|
108
|
+
if isinstance(job, Job):
|
109
|
+
job_id = job.id
|
110
|
+
elif isinstance(job, str):
|
111
|
+
job_id = job
|
112
|
+
else:
|
113
|
+
raise BioLibError('A job ID or job object must be provided to remove job')
|
114
|
+
|
115
|
+
api.client.delete(path=f'/experiments/{self.uuid}/jobs/{job_id}/')
|
116
|
+
|
96
117
|
def mount_files(self, mount_path: str) -> None:
|
97
118
|
try:
|
98
119
|
# Only attempt to import FUSE dependencies when strictly necessary
|
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.342.dev1 → pybiolib-1.2.347}/biolib/_internal/data_record/remote_storage_endpoint.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/_internal/fuse_mount/experiment_fuse_mount.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
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/remote_stream_seeker.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/biolib_binary_format/system_status_update.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
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/docker_image_cache.py
RENAMED
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/__init__.py
RENAMED
File without changes
|
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/docker_types.py
RENAMED
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/tars/__init__.py
RENAMED
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/executors/types.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.342.dev1 → pybiolib-1.2.347}/biolib/compute_node/job_worker/large_file_system.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
|