pybiolib 1.2.740__tar.gz → 1.2.744__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 (136) hide show
  1. {pybiolib-1.2.740 → pybiolib-1.2.744}/PKG-INFO +1 -1
  2. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/experiment.py +9 -8
  3. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/resource.py +2 -2
  4. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/result.py +4 -0
  5. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/experiments/experiment.py +11 -9
  6. {pybiolib-1.2.740 → pybiolib-1.2.744}/pyproject.toml +1 -1
  7. {pybiolib-1.2.740 → pybiolib-1.2.744}/LICENSE +0 -0
  8. {pybiolib-1.2.740 → pybiolib-1.2.744}/PYPI_README.md +0 -0
  9. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/__init__.py +0 -0
  10. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_data_record/data_record.py +0 -0
  11. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/__init__.py +0 -0
  12. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/add_copilot_prompts.py +0 -0
  13. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/data_record/__init__.py +0 -0
  14. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/data_record/data_record.py +0 -0
  15. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/data_record/push_data.py +0 -0
  16. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  17. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/file_utils.py +0 -0
  18. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/fuse_mount/__init__.py +0 -0
  19. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  20. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/http_client.py +0 -0
  21. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/lfs/__init__.py +0 -0
  22. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/lfs/cache.py +0 -0
  23. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/libs/__init__.py +0 -0
  24. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  25. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/llm_instructions/.github/code-style.md +0 -0
  26. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/llm_instructions/.github/copilot-instructions.md +0 -0
  27. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/llm_instructions/.github/prompts/biolib_app_inputs.prompt.md +0 -0
  28. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/llm_instructions/.github/prompts/biolib_run_apps.prompt.md +0 -0
  29. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/llm_instructions/__init__.py +0 -0
  30. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/push_application.py +0 -0
  31. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/runtime.py +0 -0
  32. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/tree_utils.py +0 -0
  33. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/__init__.py +0 -0
  34. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/app.py +0 -0
  35. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/data_record.py +0 -0
  36. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/file_node.py +0 -0
  37. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/resource_permission.py +0 -0
  38. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/resource_version.py +0 -0
  39. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/types/typing.py +0 -0
  40. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/utils/__init__.py +0 -0
  41. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_internal/utils/multinode.py +0 -0
  42. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_runtime/runtime.py +0 -0
  43. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/_session/session.py +0 -0
  44. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/api/__init__.py +0 -0
  45. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/api/client.py +0 -0
  46. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/app/__init__.py +0 -0
  47. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/app/app.py +0 -0
  48. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/app/search_apps.py +0 -0
  49. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/__init__.py +0 -0
  50. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/api_client.py +0 -0
  51. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/app_types.py +0 -0
  52. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/auth.py +0 -0
  53. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  54. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  55. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/common_types.py +0 -0
  56. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/job_types.py +0 -0
  57. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/lfs_types.py +0 -0
  58. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_api_client/user_state.py +0 -0
  59. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/__init__.py +0 -0
  60. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  61. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/file_in_container.py +0 -0
  62. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/module_input.py +0 -0
  63. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  64. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  65. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  66. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/saved_job.py +0 -0
  67. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  68. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/system_exception.py +0 -0
  69. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/system_status_update.py +0 -0
  70. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_binary_format/utils.py +0 -0
  71. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_docker_client/__init__.py +0 -0
  72. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_download_container.py +0 -0
  73. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_errors.py +0 -0
  74. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/biolib_logging.py +0 -0
  75. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/__init__.py +0 -0
  76. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/auth.py +0 -0
  77. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/data_record.py +0 -0
  78. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/download_container.py +0 -0
  79. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/init.py +0 -0
  80. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/lfs.py +0 -0
  81. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/push.py +0 -0
  82. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/run.py +0 -0
  83. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/runtime.py +0 -0
  84. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/sdk.py +0 -0
  85. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/cli/start.py +0 -0
  86. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/.gitignore +0 -0
  87. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/__init__.py +0 -0
  88. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  89. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  90. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/__init__.py +0 -0
  91. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/cache_state.py +0 -0
  92. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/cache_types.py +0 -0
  93. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  94. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  95. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  96. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  97. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  98. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/executors/types.py +0 -0
  99. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  100. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  101. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/job_storage.py +0 -0
  102. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/job_worker.py +0 -0
  103. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  104. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/mappings.py +0 -0
  105. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  106. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/job_worker/utils.py +0 -0
  107. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/remote_host_proxy.py +0 -0
  108. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/socker_listener_thread.py +0 -0
  109. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/socket_sender_thread.py +0 -0
  110. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/utils.py +0 -0
  111. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/webserver/__init__.py +0 -0
  112. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  113. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/webserver/webserver.py +0 -0
  114. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/webserver/webserver_types.py +0 -0
  115. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  116. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/compute_node/webserver/worker_thread.py +0 -0
  117. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/experiments/__init__.py +0 -0
  118. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/jobs/__init__.py +0 -0
  119. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/jobs/job.py +0 -0
  120. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/jobs/job_result.py +0 -0
  121. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/jobs/types.py +0 -0
  122. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/py.typed +0 -0
  123. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/runtime/__init__.py +0 -0
  124. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/sdk/__init__.py +0 -0
  125. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/tables.py +0 -0
  126. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/templates/__init__.py +0 -0
  127. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/templates/example_app.py +0 -0
  128. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/typing_utils.py +0 -0
  129. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/user/__init__.py +0 -0
  130. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/user/sign_in.py +0 -0
  131. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/utils/__init__.py +0 -0
  132. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/utils/app_uri.py +0 -0
  133. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/utils/cache_state.py +0 -0
  134. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/utils/multipart_uploader.py +0 -0
  135. {pybiolib-1.2.740 → pybiolib-1.2.744}/biolib/utils/seq_util.py +0 -0
  136. {pybiolib-1.2.740 → pybiolib-1.2.744}/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.740
3
+ Version: 1.2.744
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  Keywords: biolib
@@ -11,20 +11,21 @@ class ResultCounts(TypedDict):
11
11
  total: int
12
12
 
13
13
 
14
- class ExperimentDict(TypedDict):
14
+ class DeprecatedExperimentDict(TypedDict):
15
+ # Note: fields on this TypedDict are deprecated
16
+ job_count: int
17
+ job_running_count: int
18
+
19
+
20
+ class ExperimentDict(DeprecatedExperimentDict):
15
21
  uuid: Optional[str]
16
22
  name: Optional[str]
23
+ created_at: Optional[str]
17
24
  finished_at: Optional[str]
18
- first_created_at: Optional[str]
19
25
  last_created_at: Optional[str]
20
26
  last_created_result: Optional[ResultDict]
21
27
  result_counts: ResultCounts
22
28
 
23
29
 
24
- class ExperimentSlimDict(TypedDict):
25
- job_count: int
26
- job_running_count: int
27
-
28
-
29
- class ExperimentDetailedDict(ExperimentSlimDict):
30
+ class ExperimentDetailedDict(ExperimentDict):
30
31
  pass
@@ -1,6 +1,6 @@
1
1
  from .app import AppSlimDict
2
2
  from .data_record import DataRecordSlimDict
3
- from .experiment import ExperimentSlimDict
3
+ from .experiment import DeprecatedExperimentDict
4
4
  from .typing import Optional, TypedDict
5
5
 
6
6
 
@@ -15,4 +15,4 @@ class ResourceDict(TypedDict):
15
15
  class ResourceDetailedDict(ResourceDict):
16
16
  app: Optional[AppSlimDict]
17
17
  data_record: Optional[DataRecordSlimDict]
18
- experiment: Optional[ExperimentSlimDict]
18
+ experiment: Optional[DeprecatedExperimentDict]
@@ -8,3 +8,7 @@ class ResultDict(TypedDict):
8
8
  created_at: str
9
9
  state: str
10
10
  finished_at: Optional[str]
11
+
12
+
13
+ class ResultDetailedDict(ResultDict):
14
+ pass
@@ -1,8 +1,9 @@
1
1
  import time
2
2
  from collections import OrderedDict
3
3
 
4
- import biolib._internal.types as _types
5
4
  from biolib import api
5
+ from biolib._internal.types.experiment import DeprecatedExperimentDict, ExperimentDict
6
+ from biolib._internal.types.resource import ResourceDetailedDict
6
7
  from biolib.biolib_errors import BioLibError
7
8
  from biolib.jobs.job import Job
8
9
  from biolib.jobs.types import JobsPaginatedResponse
@@ -22,8 +23,8 @@ class Experiment:
22
23
  }
23
24
  )
24
25
 
25
- def __init__(self, uri: str, _resource_dict: Optional[_types.ResourceDetailedDict] = None):
26
- self._resource_dict: _types.ResourceDetailedDict = _resource_dict or self._get_or_create_resource_dict(uri)
26
+ def __init__(self, uri: str, _resource_dict: Optional[ResourceDetailedDict] = None):
27
+ self._resource_dict: ResourceDetailedDict = _resource_dict or self._get_or_create_resource_dict(uri)
27
28
 
28
29
  def __enter__(self):
29
30
  Experiment._BIOLIB_EXPERIMENTS.append(self)
@@ -50,7 +51,7 @@ class Experiment:
50
51
  return self._resource_dict['uri']
51
52
 
52
53
  @property
53
- def _experiment_dict(self) -> _types.ExperimentSlimDict:
54
+ def _experiment_dict(self) -> DeprecatedExperimentDict:
54
55
  if not self._resource_dict['experiment']:
55
56
  raise ValueError(f'Resource {self.uri} is not an Experiment')
56
57
 
@@ -65,7 +66,8 @@ class Experiment:
65
66
  # Prints a table listing info about experiments accessible to the user
66
67
  @staticmethod
67
68
  def show_experiments(count: int = 25) -> None:
68
- experiment_dicts = api.client.get(path='/experiments/', params={'page_size': str(count)}).json()['results']
69
+ pagniated_response = api.client.get(path='/experiments/', params={'page_size': str(count)}).json()
70
+ experiment_dicts: List[ExperimentDict] = pagniated_response['results']
69
71
  BioLibTable(
70
72
  columns_to_row_map=Experiment._table_columns_to_row_map,
71
73
  rows=experiment_dicts,
@@ -75,7 +77,7 @@ class Experiment:
75
77
  @staticmethod
76
78
  def get_by_uri(uri: str) -> 'Experiment':
77
79
  query_param_key = 'uri' if '/' in uri else 'name'
78
- resource_dict: _types.ResourceDetailedDict = api.client.get('/resource/', params={query_param_key: uri}).json()
80
+ resource_dict: ResourceDetailedDict = api.client.get('/resource/', params={query_param_key: uri}).json()
79
81
  if not resource_dict['experiment']:
80
82
  raise ValueError(f'Resource {uri} is not an experiment')
81
83
 
@@ -200,15 +202,15 @@ class Experiment:
200
202
  self._refetch()
201
203
 
202
204
  @staticmethod
203
- def _get_resource_dict_by_uuid(uuid: str) -> _types.ResourceDetailedDict:
204
- resource_dict: _types.ResourceDetailedDict = api.client.get(f'/resources/{uuid}/').json()
205
+ def _get_resource_dict_by_uuid(uuid: str) -> ResourceDetailedDict:
206
+ resource_dict: ResourceDetailedDict = api.client.get(f'/resources/{uuid}/').json()
205
207
  if not resource_dict['experiment']:
206
208
  raise ValueError('Resource from URI is not an experiment')
207
209
 
208
210
  return resource_dict
209
211
 
210
212
  @staticmethod
211
- def _get_or_create_resource_dict(uri: str) -> _types.ResourceDetailedDict:
213
+ def _get_or_create_resource_dict(uri: str) -> ResourceDetailedDict:
212
214
  response_dict = api.client.post(path='/experiments/', data={'uri' if '/' in uri else 'name': uri}).json()
213
215
  return Experiment._get_resource_dict_by_uuid(uuid=response_dict['uuid'])
214
216
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.2.740"
3
+ version = "1.2.744"
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
File without changes