pybiolib 1.1.2023__tar.gz → 1.1.2031__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 (113) hide show
  1. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/PKG-INFO +1 -1
  2. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/data_record/data_record.py +9 -6
  3. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/api/__init__.py +1 -0
  4. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/api/client.py +30 -15
  5. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/pyproject.toml +1 -1
  6. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/LICENSE +0 -0
  7. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/README.md +0 -0
  8. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/__init__.py +0 -0
  9. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/__init__.py +0 -0
  10. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/data_record/__init__.py +0 -0
  11. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  12. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/fuse_mount/__init__.py +0 -0
  13. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  14. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/http_client.py +0 -0
  15. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/libs/__init__.py +0 -0
  16. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  17. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/push_application.py +0 -0
  18. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/runtime.py +0 -0
  19. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/_internal/utils/__init__.py +0 -0
  20. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/app/__init__.py +0 -0
  21. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/app/app.py +0 -0
  22. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/app/search_apps.py +0 -0
  23. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/__init__.py +0 -0
  24. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/api_client.py +0 -0
  25. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/app_types.py +0 -0
  26. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/auth.py +0 -0
  27. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  28. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  29. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/common_types.py +0 -0
  30. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/job_types.py +0 -0
  31. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/lfs_types.py +0 -0
  32. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_api_client/user_state.py +0 -0
  33. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/__init__.py +0 -0
  34. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  35. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/file_in_container.py +0 -0
  36. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/module_input.py +0 -0
  37. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  38. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  39. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  40. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/saved_job.py +0 -0
  41. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  42. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/system_exception.py +0 -0
  43. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/system_status_update.py +0 -0
  44. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_binary_format/utils.py +0 -0
  45. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_docker_client/__init__.py +0 -0
  46. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_download_container.py +0 -0
  47. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_errors.py +0 -0
  48. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/biolib_logging.py +0 -0
  49. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/__init__.py +0 -0
  50. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/auth.py +0 -0
  51. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/data_record.py +0 -0
  52. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/download_container.py +0 -0
  53. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/init.py +0 -0
  54. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/lfs.py +0 -0
  55. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/push.py +0 -0
  56. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/run.py +0 -0
  57. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/runtime.py +0 -0
  58. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/cli/start.py +0 -0
  59. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/.gitignore +0 -0
  60. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/__init__.py +0 -0
  61. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  62. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  63. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/__init__.py +0 -0
  64. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/cache_state.py +0 -0
  65. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/cache_types.py +0 -0
  66. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  67. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  68. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  69. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  70. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  71. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/executors/types.py +0 -0
  72. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  73. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  74. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/job_storage.py +0 -0
  75. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/job_worker.py +0 -0
  76. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  77. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/mappings.py +0 -0
  78. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  79. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/job_worker/utils.py +0 -0
  80. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/remote_host_proxy.py +0 -0
  81. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/socker_listener_thread.py +0 -0
  82. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/socket_sender_thread.py +0 -0
  83. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/utils.py +0 -0
  84. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/webserver/__init__.py +0 -0
  85. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  86. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/webserver/webserver.py +0 -0
  87. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/webserver/webserver_types.py +0 -0
  88. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  89. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/compute_node/webserver/worker_thread.py +0 -0
  90. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/experiments/__init__.py +0 -0
  91. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/experiments/experiment.py +0 -0
  92. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/experiments/types.py +0 -0
  93. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/jobs/__init__.py +0 -0
  94. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/jobs/job.py +0 -0
  95. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/jobs/job_result.py +0 -0
  96. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/jobs/types.py +0 -0
  97. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/lfs/__init__.py +0 -0
  98. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/lfs/cache.py +0 -0
  99. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/lfs/utils.py +0 -0
  100. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/runtime/__init__.py +0 -0
  101. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/sdk/__init__.py +0 -0
  102. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/tables.py +0 -0
  103. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/templates/__init__.py +0 -0
  104. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/templates/example_app.py +0 -0
  105. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/typing_utils.py +0 -0
  106. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/user/__init__.py +0 -0
  107. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/user/sign_in.py +0 -0
  108. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/utils/__init__.py +0 -0
  109. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/utils/app_uri.py +0 -0
  110. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/utils/cache_state.py +0 -0
  111. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/utils/multipart_uploader.py +0 -0
  112. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/biolib/utils/seq_util.py +0 -0
  113. {pybiolib-1.1.2023 → pybiolib-1.1.2031}/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.2023
3
+ Version: 1.1.2031
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -22,11 +22,6 @@ PathFilter = Union[str, Callable[[str], bool]]
22
22
  class DataRecord:
23
23
  def __init__(self, uri: str):
24
24
  self._uri = uri
25
- uri_parsed = parse_app_uri(uri, use_account_as_name_default=False)
26
- if not uri_parsed['app_name']:
27
- raise ValueError('Expected parameter "uri" to contain resource name')
28
-
29
- self._name = uri_parsed['app_name']
30
25
 
31
26
  def __repr__(self):
32
27
  return f'DataRecord: {self._uri}'
@@ -37,7 +32,11 @@ class DataRecord:
37
32
 
38
33
  @property
39
34
  def name(self) -> str:
40
- return self._name
35
+ uri_parsed = parse_app_uri(self.uri, use_account_as_name_default=False)
36
+ if not uri_parsed['app_name']:
37
+ raise ValueError('Expected parameter "uri" to contain resource name')
38
+
39
+ return uri_parsed['app_name']
41
40
 
42
41
  def list_files(self, path_filter: Optional[PathFilter] = None) -> List[LazyLoadedFile]:
43
42
  app_response: AppGetResponse = api_client.get(path='/app/', params={'uri': self._uri}).json()
@@ -76,6 +75,10 @@ class DataRecord:
76
75
  def save_files(self, output_dir: str, path_filter: Optional[PathFilter] = None) -> None:
77
76
  self.download_files(output_dir=output_dir, path_filter=path_filter)
78
77
 
78
+ def update(self, data_path: str) -> None:
79
+ assert os.path.isdir(data_path), f'The path "{data_path}" is not a directory.'
80
+ self._uri = lfs.push_large_file_system(lfs_uri=self._uri, input_dir=data_path)
81
+
79
82
  @staticmethod
80
83
  def create(destination: str, data_path: str, name: Optional[str] = None) -> 'DataRecord':
81
84
  assert os.path.isdir(data_path), f'The path "{data_path}" is not a directory.'
@@ -1,4 +1,5 @@
1
1
  from biolib._internal.http_client import HttpClient
2
+
2
3
  from .client import ApiClient as _ApiClient
3
4
 
4
5
  _client = _ApiClient()
@@ -1,8 +1,10 @@
1
- from urllib.parse import urljoin, urlencode
1
+ from urllib.parse import urlencode, urljoin
2
2
 
3
- from biolib.typing_utils import Dict, Optional, Union
3
+ import importlib_metadata
4
+
5
+ from biolib._internal.http_client import HttpClient, HttpResponse
4
6
  from biolib.biolib_api_client import BiolibApiClient as DeprecatedApiClient
5
- from biolib._internal.http_client import HttpResponse, HttpClient
7
+ from biolib.typing_utils import Dict, Optional, Union, cast
6
8
 
7
9
  OptionalHeaders = Union[
8
10
  Optional[Dict[str, str]],
@@ -10,14 +12,24 @@ OptionalHeaders = Union[
10
12
  ]
11
13
 
12
14
 
15
+ def _get_biolib_package_version() -> str:
16
+ # try fetching version, if it fails (usually when in dev), add default
17
+ try:
18
+ return cast(str, importlib_metadata.version('pybiolib'))
19
+ except importlib_metadata.PackageNotFoundError:
20
+ return '0.0.0'
21
+
22
+
13
23
  class ApiClient(HttpClient):
24
+ _biolib_package_version: str = _get_biolib_package_version()
25
+
14
26
  def get(
15
- self,
16
- path: str,
17
- params: Optional[Dict[str, Union[str, int]]] = None,
18
- headers: OptionalHeaders = None,
19
- authenticate: bool = True,
20
- retries: int = 10,
27
+ self,
28
+ path: str,
29
+ params: Optional[Dict[str, Union[str, int]]] = None,
30
+ headers: OptionalHeaders = None,
31
+ authenticate: bool = True,
32
+ retries: int = 10,
21
33
  ) -> HttpResponse:
22
34
  return self.request(
23
35
  headers=self._get_headers(opt_headers=headers, authenticate=authenticate),
@@ -27,12 +39,12 @@ class ApiClient(HttpClient):
27
39
  )
28
40
 
29
41
  def post(
30
- self,
31
- path: str,
32
- data: Optional[Union[Dict, bytes]] = None,
33
- headers: OptionalHeaders = None,
34
- authenticate: bool = True,
35
- retries: int = 5,
42
+ self,
43
+ path: str,
44
+ data: Optional[Union[Dict, bytes]] = None,
45
+ headers: OptionalHeaders = None,
46
+ authenticate: bool = True,
47
+ retries: int = 5,
36
48
  ) -> HttpResponse:
37
49
  return self.request(
38
50
  data=data,
@@ -74,6 +86,9 @@ class ApiClient(HttpClient):
74
86
  if access_token and authenticate:
75
87
  headers['Authorization'] = f'Bearer {access_token}'
76
88
 
89
+ headers['client-type'] = 'biolib-python'
90
+ headers['client-version'] = ApiClient._biolib_package_version
91
+
77
92
  return headers
78
93
 
79
94
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.1.2023"
3
+ version = "1.1.2031"
4
4
  description = "BioLib Python Client"
5
5
  readme = "README.md"
6
6
  license = "MIT"
File without changes
File without changes