pybiolib 1.2.582__tar.gz → 1.2.600__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 (126) hide show
  1. {pybiolib-1.2.582 → pybiolib-1.2.600}/PKG-INFO +1 -1
  2. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/push_application.py +10 -7
  3. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/jobs/job.py +18 -0
  4. {pybiolib-1.2.582 → pybiolib-1.2.600}/pyproject.toml +1 -1
  5. {pybiolib-1.2.582 → pybiolib-1.2.600}/LICENSE +0 -0
  6. {pybiolib-1.2.582 → pybiolib-1.2.600}/PYPI_README.md +0 -0
  7. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/__init__.py +0 -0
  8. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_data_record/data_record.py +0 -0
  9. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/__init__.py +0 -0
  10. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/data_record/__init__.py +0 -0
  11. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/data_record/data_record.py +0 -0
  12. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/data_record/push_data.py +0 -0
  13. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  14. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/file_utils.py +0 -0
  15. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/fuse_mount/__init__.py +0 -0
  16. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  17. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/http_client.py +0 -0
  18. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/lfs/__init__.py +0 -0
  19. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/lfs/cache.py +0 -0
  20. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/libs/__init__.py +0 -0
  21. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  22. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/runtime.py +0 -0
  23. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/__init__.py +0 -0
  24. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/app.py +0 -0
  25. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/data_record.py +0 -0
  26. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/experiment.py +0 -0
  27. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/file_node.py +0 -0
  28. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/resource.py +0 -0
  29. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/resource_version.py +0 -0
  30. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/types/typing.py +0 -0
  31. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/utils/__init__.py +0 -0
  32. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_internal/utils/multinode.py +0 -0
  33. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_runtime/runtime.py +0 -0
  34. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/_session/session.py +0 -0
  35. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/api/__init__.py +0 -0
  36. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/api/client.py +0 -0
  37. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/app/__init__.py +0 -0
  38. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/app/app.py +0 -0
  39. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/app/search_apps.py +0 -0
  40. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/__init__.py +0 -0
  41. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/api_client.py +0 -0
  42. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/app_types.py +0 -0
  43. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/auth.py +0 -0
  44. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  45. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  46. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/common_types.py +0 -0
  47. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/job_types.py +0 -0
  48. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/lfs_types.py +0 -0
  49. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_api_client/user_state.py +0 -0
  50. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/__init__.py +0 -0
  51. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  52. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/file_in_container.py +0 -0
  53. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/module_input.py +0 -0
  54. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  55. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  56. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  57. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/saved_job.py +0 -0
  58. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  59. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/system_exception.py +0 -0
  60. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/system_status_update.py +0 -0
  61. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_binary_format/utils.py +0 -0
  62. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_docker_client/__init__.py +0 -0
  63. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_download_container.py +0 -0
  64. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_errors.py +0 -0
  65. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/biolib_logging.py +0 -0
  66. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/__init__.py +0 -0
  67. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/auth.py +0 -0
  68. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/data_record.py +0 -0
  69. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/download_container.py +0 -0
  70. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/init.py +0 -0
  71. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/lfs.py +0 -0
  72. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/push.py +0 -0
  73. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/run.py +0 -0
  74. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/runtime.py +0 -0
  75. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/cli/start.py +0 -0
  76. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/.gitignore +0 -0
  77. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/__init__.py +0 -0
  78. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  79. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  80. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/__init__.py +0 -0
  81. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/cache_state.py +0 -0
  82. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/cache_types.py +0 -0
  83. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  84. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  85. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  86. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  87. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  88. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/executors/types.py +0 -0
  89. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  90. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  91. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/job_storage.py +0 -0
  92. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/job_worker.py +0 -0
  93. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  94. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/mappings.py +0 -0
  95. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  96. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/job_worker/utils.py +0 -0
  97. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/remote_host_proxy.py +0 -0
  98. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/socker_listener_thread.py +0 -0
  99. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/socket_sender_thread.py +0 -0
  100. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/utils.py +0 -0
  101. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/webserver/__init__.py +0 -0
  102. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  103. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/webserver/webserver.py +0 -0
  104. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/webserver/webserver_types.py +0 -0
  105. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  106. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/compute_node/webserver/worker_thread.py +0 -0
  107. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/experiments/__init__.py +0 -0
  108. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/experiments/experiment.py +0 -0
  109. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/jobs/__init__.py +0 -0
  110. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/jobs/job_result.py +0 -0
  111. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/jobs/types.py +0 -0
  112. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/py.typed +0 -0
  113. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/runtime/__init__.py +0 -0
  114. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/sdk/__init__.py +0 -0
  115. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/tables.py +0 -0
  116. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/templates/__init__.py +0 -0
  117. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/templates/example_app.py +0 -0
  118. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/typing_utils.py +0 -0
  119. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/user/__init__.py +0 -0
  120. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/user/sign_in.py +0 -0
  121. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/utils/__init__.py +0 -0
  122. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/utils/app_uri.py +0 -0
  123. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/utils/cache_state.py +0 -0
  124. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/utils/multipart_uploader.py +0 -0
  125. {pybiolib-1.2.582 → pybiolib-1.2.600}/biolib/utils/seq_util.py +0 -0
  126. {pybiolib-1.2.582 → pybiolib-1.2.600}/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.582
3
+ Version: 1.2.600
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  Keywords: biolib
@@ -17,6 +17,7 @@ from biolib.biolib_docker_client import BiolibDockerClient
17
17
  from biolib.biolib_errors import BioLibError
18
18
  from biolib.biolib_logging import logger
19
19
  from biolib.typing_utils import Iterable, Optional, Set, TypedDict
20
+ from biolib.utils.app_uri import parse_app_uri
20
21
 
21
22
  REGEX_MARKDOWN_INLINE_IMAGE = re.compile(r'!\[(?P<alt>.*)\]\((?P<src>.*)\)')
22
23
 
@@ -79,22 +80,24 @@ def push_application(
79
80
  set_as_active: bool,
80
81
  set_as_published: bool,
81
82
  ):
82
- app_uri_parts = app_uri.split(':')
83
- if len(app_uri_parts) > 2:
84
- raise BioLibError('Invalid URI only a single colon allowed')
83
+ parsed_uri = parse_app_uri(app_uri)
84
+ app_name = parsed_uri['app_name']
85
85
 
86
- app_uri_to_fetch = app_uri_parts[0]
87
- semantic_version = app_uri_parts[1] if len(app_uri_parts) == 2 else None
86
+ app_uri_to_fetch = f"@{parsed_uri['resource_name_prefix']}/{parsed_uri['account_handle_normalized']}/{app_name}"
87
+
88
+ version = parsed_uri['version']
89
+ semantic_version = f"{version['major']}.{version['minor']}.{version['patch']}" if version else None
88
90
 
89
91
  app_path_absolute = Path(app_path).resolve()
90
92
 
91
93
  api_client = BiolibApiClient.get()
92
94
  if not api_client.is_signed_in:
93
95
  # TODO: Create an exception class for expected errors like this that does not print stacktrace
96
+
94
97
  raise Exception(
95
98
  'You must be authenticated to push an application.\n'
96
- 'Please set the environment variable "BIOLIB_TOKEN=[your_api_token]"\n'
97
- f'You can get an API token at: {api_client.base_url}/settings/api-tokens/'
99
+ 'Please set the environment variable "BIOLIB_TOKEN=[your_deploy_token]"\n'
100
+ f'You can get a deploy key at: {api_client.base_url}/{app_uri_to_fetch}/settings/keys'
98
101
  ) from None
99
102
 
100
103
  # prepare zip file
@@ -91,6 +91,24 @@ class Job:
91
91
  self._refetch_job_dict()
92
92
  return bool(self._job_dict['ended_at'])
93
93
 
94
+ def is_pending(self) -> bool:
95
+ """Returns whether the job is in a pending state.
96
+
97
+ A job is considered pending if it's not finished yet.
98
+ The job state is re-fetched when this method is called.
99
+
100
+ Returns:
101
+ bool: True if the job is in a pending state, False otherwise.
102
+
103
+ Example::
104
+ >>> job = biolib.get_job("job_id")
105
+ >>> if job.is_pending():
106
+ >>> print("Job is still running")
107
+ >>> else:
108
+ >>> print("Job has finished")
109
+ """
110
+ return not self.is_finished()
111
+
94
112
  def get_name(self) -> str:
95
113
  self._refetch_job_dict()
96
114
  return self._job_dict['main_result']['name']
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.2.582"
3
+ version = "1.2.600"
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
File without changes