pybiolib 1.1.2112__tar.gz → 1.1.2123__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 (119) hide show
  1. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/PKG-INFO +1 -1
  2. pybiolib-1.1.2123/biolib/_internal/types/__init__.py +1 -0
  3. pybiolib-1.1.2123/biolib/_internal/types/resources.py +14 -0
  4. pybiolib-1.1.2123/biolib/_internal/types/typing.py +7 -0
  5. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/experiments/experiment.py +21 -2
  6. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/jobs/job.py +3 -1
  7. pybiolib-1.1.2123/biolib/typing_utils.py +2 -0
  8. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/pyproject.toml +1 -1
  9. pybiolib-1.1.2112/biolib/typing_utils.py +0 -7
  10. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/LICENSE +0 -0
  11. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/README.md +0 -0
  12. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/__init__.py +0 -0
  13. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_data_record/data_record.py +0 -0
  14. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/__init__.py +0 -0
  15. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/data_record/__init__.py +0 -0
  16. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/data_record/data_record.py +0 -0
  17. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  18. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/file_utils.py +0 -0
  19. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/fuse_mount/__init__.py +0 -0
  20. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  21. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/http_client.py +0 -0
  22. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/lfs/__init__.py +0 -0
  23. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/lfs/cache.py +0 -0
  24. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/libs/__init__.py +0 -0
  25. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  26. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/push_application.py +0 -0
  27. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/runtime.py +0 -0
  28. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_internal/utils/__init__.py +0 -0
  29. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/_runtime/runtime.py +0 -0
  30. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/api/__init__.py +0 -0
  31. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/api/client.py +0 -0
  32. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/app/__init__.py +0 -0
  33. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/app/app.py +0 -0
  34. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/app/search_apps.py +0 -0
  35. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/__init__.py +0 -0
  36. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/api_client.py +0 -0
  37. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/app_types.py +0 -0
  38. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/auth.py +0 -0
  39. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  40. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  41. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/common_types.py +0 -0
  42. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/job_types.py +0 -0
  43. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/lfs_types.py +0 -0
  44. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_api_client/user_state.py +0 -0
  45. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/__init__.py +0 -0
  46. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  47. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/file_in_container.py +0 -0
  48. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/module_input.py +0 -0
  49. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  50. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  51. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  52. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/saved_job.py +0 -0
  53. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  54. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/system_exception.py +0 -0
  55. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/system_status_update.py +0 -0
  56. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_binary_format/utils.py +0 -0
  57. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_docker_client/__init__.py +0 -0
  58. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_download_container.py +0 -0
  59. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_errors.py +0 -0
  60. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/biolib_logging.py +0 -0
  61. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/__init__.py +0 -0
  62. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/auth.py +0 -0
  63. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/data_record.py +0 -0
  64. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/download_container.py +0 -0
  65. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/init.py +0 -0
  66. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/lfs.py +0 -0
  67. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/push.py +0 -0
  68. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/run.py +0 -0
  69. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/runtime.py +0 -0
  70. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/cli/start.py +0 -0
  71. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/.gitignore +0 -0
  72. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/__init__.py +0 -0
  73. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  74. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  75. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/__init__.py +0 -0
  76. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/cache_state.py +0 -0
  77. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/cache_types.py +0 -0
  78. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  79. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  80. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  81. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  82. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  83. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/executors/types.py +0 -0
  84. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  85. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  86. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/job_storage.py +0 -0
  87. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/job_worker.py +0 -0
  88. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  89. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/mappings.py +0 -0
  90. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  91. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/job_worker/utils.py +0 -0
  92. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/remote_host_proxy.py +0 -0
  93. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/socker_listener_thread.py +0 -0
  94. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/socket_sender_thread.py +0 -0
  95. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/utils.py +0 -0
  96. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/webserver/__init__.py +0 -0
  97. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  98. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/webserver/webserver.py +0 -0
  99. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/webserver/webserver_types.py +0 -0
  100. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  101. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/compute_node/webserver/worker_thread.py +0 -0
  102. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/experiments/__init__.py +0 -0
  103. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/experiments/types.py +0 -0
  104. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/jobs/__init__.py +0 -0
  105. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/jobs/job_result.py +0 -0
  106. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/jobs/types.py +0 -0
  107. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/runtime/__init__.py +0 -0
  108. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/sdk/__init__.py +0 -0
  109. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/tables.py +0 -0
  110. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/templates/__init__.py +0 -0
  111. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/templates/example_app.py +0 -0
  112. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/user/__init__.py +0 -0
  113. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/user/sign_in.py +0 -0
  114. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/utils/__init__.py +0 -0
  115. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/utils/app_uri.py +0 -0
  116. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/utils/cache_state.py +0 -0
  117. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/utils/multipart_uploader.py +0 -0
  118. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/utils/seq_util.py +0 -0
  119. {pybiolib-1.1.2112 → pybiolib-1.1.2123}/biolib/utils/zip/remote_zip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pybiolib
3
- Version: 1.1.2112
3
+ Version: 1.1.2123
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -0,0 +1 @@
1
+ from .resources import * # noqa: F403
@@ -0,0 +1,14 @@
1
+ from .typing import Optional, TypedDict
2
+
3
+
4
+ class ExperimentDict(TypedDict):
5
+ job_count: int
6
+ job_running_count: int
7
+
8
+
9
+ class ResourceDict(TypedDict):
10
+ created_at: str
11
+ experiment: Optional[ExperimentDict]
12
+ name: str
13
+ uri: str
14
+ uuid: str
@@ -0,0 +1,7 @@
1
+ import sys
2
+
3
+ # import and expose everything from the typing module
4
+ from typing import * # noqa:F403 pylint: disable=wildcard-import, unused-wildcard-import
5
+
6
+ if sys.version_info < (3, 8): # noqa: UP036
7
+ from typing_extensions import Literal, TypedDict # pylint: disable=unused-import
@@ -1,6 +1,7 @@
1
1
  import time
2
2
  from collections import OrderedDict
3
3
 
4
+ import biolib._internal.types as _types
4
5
  from biolib import api
5
6
  from biolib._internal.http_client import HttpError
6
7
  from biolib.biolib_errors import BioLibError, NotFound
@@ -23,8 +24,11 @@ class Experiment:
23
24
  }
24
25
  )
25
26
 
26
- def __init__(self, uri: str):
27
- self._experiment_dict: ExperimentDict = self._get_or_create_by_uri(uri)
27
+ def __init__(self, uri: str, _experiment_dict: Optional[ExperimentDict] = None):
28
+ if not _experiment_dict:
29
+ self._experiment_dict: ExperimentDict = self._get_or_create_by_uri(uri)
30
+ else:
31
+ self._experiment_dict = _experiment_dict
28
32
 
29
33
  def __enter__(self):
30
34
  Experiment._BIOLIB_EXPERIMENTS.append(self)
@@ -62,6 +66,21 @@ class Experiment:
62
66
  title='Experiments',
63
67
  ).print_table()
64
68
 
69
+ @staticmethod
70
+ def get_by_uri(uri: str) -> 'Experiment':
71
+ resource_dict: _types.ResourceDict = api.client.get('/resources/', params={'uri': uri}).json()
72
+ if not resource_dict['experiment']:
73
+ raise ValueError('Resource from URI is not an experiment')
74
+
75
+ legacy_experiment_dict = ExperimentDict(
76
+ created_at=resource_dict['created_at'],
77
+ job_count=resource_dict['experiment']['job_count'],
78
+ job_running_count=resource_dict['experiment']['job_running_count'],
79
+ name=resource_dict['name'],
80
+ uuid=resource_dict['uuid'],
81
+ )
82
+ return Experiment(uri=resource_dict['uri'], _experiment_dict=legacy_experiment_dict)
83
+
65
84
  def wait(self) -> None:
66
85
  self._refetch_experiment_dict()
67
86
  while self._experiment_dict['job_running_count'] > 0:
@@ -354,7 +354,10 @@ class Job:
354
354
  self.print_logs_packages(response_json['streamed_logs_packages_b64'])
355
355
 
356
356
  def _get_cloud_job_awaiting_started(self) -> CloudJobStartedDict:
357
+ retry_count = 0
357
358
  while True:
359
+ retry_count += 1
360
+ time.sleep(min(10, retry_count))
358
361
  cloud_job = self._get_cloud_job()
359
362
 
360
363
  if cloud_job['finished_at']:
@@ -367,7 +370,6 @@ class Job:
367
370
  return cast(CloudJobStartedDict, cloud_job)
368
371
 
369
372
  logger.info('Cloud: The job has been queued. Please wait...')
370
- time.sleep(10)
371
373
 
372
374
  def _get_job_status_from_compute_node(self, compute_node_url):
373
375
  for _ in range(15):
@@ -0,0 +1,2 @@
1
+ # TODO: Deprecate and later remove this file
2
+ from biolib._internal.types.typing import * # pylint: disable=wildcard-import, unused-wildcard-import
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.1.2112"
3
+ version = "1.1.2123"
4
4
  description = "BioLib Python Client"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -1,7 +0,0 @@
1
- import sys
2
-
3
- # import and expose everything from the typing module
4
- from typing import * # pylint: disable=wildcard-import, unused-wildcard-import
5
-
6
- if sys.version_info < (3, 8):
7
- from typing_extensions import TypedDict, Literal # pylint: disable=unused-import
File without changes
File without changes