pybiolib 1.2.218__tar.gz → 1.2.223__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 (124) hide show
  1. {pybiolib-1.2.218 → pybiolib-1.2.223}/PKG-INFO +1 -1
  2. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/http_client.py +4 -0
  3. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/utils.py +6 -2
  4. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/utils/__init__.py +1 -0
  5. {pybiolib-1.2.218 → pybiolib-1.2.223}/pyproject.toml +1 -1
  6. {pybiolib-1.2.218 → pybiolib-1.2.223}/LICENSE +0 -0
  7. {pybiolib-1.2.218 → pybiolib-1.2.223}/PYPI_README.md +0 -0
  8. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/__init__.py +0 -0
  9. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_data_record/data_record.py +0 -0
  10. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/__init__.py +0 -0
  11. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/data_record/__init__.py +0 -0
  12. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/data_record/data_record.py +0 -0
  13. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/data_record/push_data.py +0 -0
  14. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  15. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/file_utils.py +0 -0
  16. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/fuse_mount/__init__.py +0 -0
  17. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  18. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/lfs/__init__.py +0 -0
  19. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/lfs/cache.py +0 -0
  20. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/libs/__init__.py +0 -0
  21. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  22. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/push_application.py +0 -0
  23. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/runtime.py +0 -0
  24. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/__init__.py +0 -0
  25. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/app.py +0 -0
  26. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/data_record.py +0 -0
  27. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/experiment.py +0 -0
  28. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/file_node.py +0 -0
  29. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/resource.py +0 -0
  30. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/resource_version.py +0 -0
  31. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/types/typing.py +0 -0
  32. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/utils/__init__.py +0 -0
  33. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_internal/utils/multinode.py +0 -0
  34. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/_runtime/runtime.py +0 -0
  35. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/api/__init__.py +0 -0
  36. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/api/client.py +0 -0
  37. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/app/__init__.py +0 -0
  38. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/app/app.py +0 -0
  39. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/app/search_apps.py +0 -0
  40. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/__init__.py +0 -0
  41. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/api_client.py +0 -0
  42. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/app_types.py +0 -0
  43. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/auth.py +0 -0
  44. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  45. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  46. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/common_types.py +0 -0
  47. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/job_types.py +0 -0
  48. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/lfs_types.py +0 -0
  49. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_api_client/user_state.py +0 -0
  50. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/__init__.py +0 -0
  51. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  52. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/file_in_container.py +0 -0
  53. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/module_input.py +0 -0
  54. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  55. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  56. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  57. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/saved_job.py +0 -0
  58. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  59. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/system_exception.py +0 -0
  60. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/system_status_update.py +0 -0
  61. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_binary_format/utils.py +0 -0
  62. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_docker_client/__init__.py +0 -0
  63. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_download_container.py +0 -0
  64. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_errors.py +0 -0
  65. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/biolib_logging.py +0 -0
  66. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/__init__.py +0 -0
  67. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/auth.py +0 -0
  68. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/data_record.py +0 -0
  69. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/download_container.py +0 -0
  70. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/init.py +0 -0
  71. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/lfs.py +0 -0
  72. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/push.py +0 -0
  73. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/run.py +0 -0
  74. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/runtime.py +0 -0
  75. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/cli/start.py +0 -0
  76. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/.gitignore +0 -0
  77. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/__init__.py +0 -0
  78. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  79. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  80. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/__init__.py +0 -0
  81. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/cache_state.py +0 -0
  82. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/cache_types.py +0 -0
  83. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  84. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  85. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  86. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  87. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  88. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/executors/types.py +0 -0
  89. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  90. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  91. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/job_storage.py +0 -0
  92. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/job_worker.py +0 -0
  93. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  94. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/mappings.py +0 -0
  95. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  96. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/job_worker/utils.py +0 -0
  97. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/remote_host_proxy.py +0 -0
  98. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/socker_listener_thread.py +0 -0
  99. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/socket_sender_thread.py +0 -0
  100. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/webserver/__init__.py +0 -0
  101. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  102. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/webserver/webserver.py +0 -0
  103. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/webserver/webserver_types.py +0 -0
  104. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  105. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/compute_node/webserver/worker_thread.py +0 -0
  106. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/experiments/__init__.py +0 -0
  107. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/experiments/experiment.py +0 -0
  108. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/jobs/__init__.py +0 -0
  109. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/jobs/job.py +0 -0
  110. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/jobs/job_result.py +0 -0
  111. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/jobs/types.py +0 -0
  112. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/runtime/__init__.py +0 -0
  113. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/sdk/__init__.py +0 -0
  114. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/tables.py +0 -0
  115. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/templates/__init__.py +0 -0
  116. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/templates/example_app.py +0 -0
  117. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/typing_utils.py +0 -0
  118. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/user/__init__.py +0 -0
  119. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/user/sign_in.py +0 -0
  120. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/utils/app_uri.py +0 -0
  121. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/utils/cache_state.py +0 -0
  122. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/utils/multipart_uploader.py +0 -0
  123. {pybiolib-1.2.218 → pybiolib-1.2.223}/biolib/utils/seq_util.py +0 -0
  124. {pybiolib-1.2.218 → pybiolib-1.2.223}/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.2.218
3
+ Version: 1.2.223
4
4
  Summary: BioLib Python Client
5
5
  Home-page: https://github.com/biolib
6
6
  License: MIT
@@ -78,6 +78,7 @@ class HttpClient:
78
78
  retries: int = 5,
79
79
  timeout_in_seconds: Optional[int] = None,
80
80
  response_path: Optional[str] = None,
81
+ retry_on_http_500: Optional[bool] = False,
81
82
  ) -> HttpResponse:
82
83
  if not HttpClient.ssl_context:
83
84
  HttpClient.ssl_context = _create_ssl_context()
@@ -112,6 +113,9 @@ class HttpClient:
112
113
  if error.code == 429:
113
114
  logger_no_user_data.warning(f'HTTP {method} request failed with status 429 for "{url}"')
114
115
  last_error = error
116
+ elif error.code == 500 and retry_on_http_500:
117
+ logger_no_user_data.warning(f'HTTP {method} request failed with status 500 for "{url}"')
118
+ last_error = error
115
119
  elif error.code == 502:
116
120
  logger_no_user_data.warning(f'HTTP {method} request failed with status 502 for "{url}"')
117
121
  last_error = error
@@ -1,6 +1,6 @@
1
- from enum import Enum
2
1
  import random
3
2
  import string
3
+ from enum import Enum
4
4
 
5
5
  from biolib.biolib_logging import logger
6
6
 
@@ -29,7 +29,7 @@ def get_package_type(package):
29
29
  return 'StdoutAndStderr'
30
30
 
31
31
  else:
32
- raise Exception(f"Unexpected package type {package_type}")
32
+ raise Exception(f'Unexpected package type {package_type}')
33
33
 
34
34
 
35
35
  class SystemExceptionCodes(Enum):
@@ -68,6 +68,8 @@ class SystemExceptionCodes(Enum):
68
68
  FAILED_TO_ALLOCATE_JOB_TO_COMPUTE_NODE = 32
69
69
  NO_MODULES_FOUND_ON_JOB = 33
70
70
  FAILED_TO_INITIALIZE_DOCKER_EXECUTOR = 34
71
+ COMPUTE_NODE_SHUTDOWN = 35
72
+ COMPUTE_NODE_SHUTDOWN_DUE_TO_HEALTH_CHECK_FAILURE = 36
71
73
 
72
74
 
73
75
  SystemExceptionCodeMap = {
@@ -106,6 +108,8 @@ SystemExceptionCodeMap = {
106
108
  32: 'Failed to allocate job to compute node',
107
109
  33: 'No modules found on job',
108
110
  34: 'Failed to initialize docker executor',
111
+ 35: 'Compute node shutdown',
112
+ 36: 'Compute node shutdown due to health check failure',
109
113
  }
110
114
 
111
115
 
@@ -93,6 +93,7 @@ def _download_chunk(input_tuple: DownloadChunkInputTuple) -> bytes:
93
93
  headers={'range': f'bytes={start}-{end}'},
94
94
  timeout_in_seconds=300, # timeout after 5 min
95
95
  retries=20,
96
+ retry_on_http_500=True,
96
97
  )
97
98
  except Exception as exception:
98
99
  logger_no_user_data.exception("Hit error downloading chunk")
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.2.218"
3
+ version = "1.2.223"
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