pybiolib 0.2.951__py3-none-any.whl → 1.2.1890__py3-none-any.whl

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 (262) hide show
  1. biolib/__init__.py +357 -11
  2. biolib/_data_record/data_record.py +380 -0
  3. biolib/_index/__init__.py +0 -0
  4. biolib/_index/index.py +55 -0
  5. biolib/_index/query_result.py +103 -0
  6. biolib/_internal/__init__.py +0 -0
  7. biolib/_internal/add_copilot_prompts.py +58 -0
  8. biolib/_internal/add_gui_files.py +81 -0
  9. biolib/_internal/data_record/__init__.py +1 -0
  10. biolib/_internal/data_record/data_record.py +85 -0
  11. biolib/_internal/data_record/push_data.py +116 -0
  12. biolib/_internal/data_record/remote_storage_endpoint.py +43 -0
  13. biolib/_internal/errors.py +5 -0
  14. biolib/_internal/file_utils.py +125 -0
  15. biolib/_internal/fuse_mount/__init__.py +1 -0
  16. biolib/_internal/fuse_mount/experiment_fuse_mount.py +209 -0
  17. biolib/_internal/http_client.py +159 -0
  18. biolib/_internal/lfs/__init__.py +1 -0
  19. biolib/_internal/lfs/cache.py +51 -0
  20. biolib/_internal/libs/__init__.py +1 -0
  21. biolib/_internal/libs/fusepy/__init__.py +1257 -0
  22. biolib/_internal/push_application.py +488 -0
  23. biolib/_internal/runtime.py +22 -0
  24. biolib/_internal/string_utils.py +13 -0
  25. biolib/_internal/templates/__init__.py +1 -0
  26. biolib/_internal/templates/copilot_template/.github/instructions/general-app-knowledge.instructions.md +10 -0
  27. biolib/_internal/templates/copilot_template/.github/instructions/style-general.instructions.md +20 -0
  28. biolib/_internal/templates/copilot_template/.github/instructions/style-python.instructions.md +16 -0
  29. biolib/_internal/templates/copilot_template/.github/instructions/style-react-ts.instructions.md +47 -0
  30. biolib/_internal/templates/copilot_template/.github/prompts/biolib_app_inputs.prompt.md +11 -0
  31. biolib/_internal/templates/copilot_template/.github/prompts/biolib_onboard_repo.prompt.md +19 -0
  32. biolib/_internal/templates/copilot_template/.github/prompts/biolib_run_apps.prompt.md +12 -0
  33. biolib/_internal/templates/dashboard_template/.biolib/config.yml +5 -0
  34. biolib/_internal/templates/github_workflow_template/.github/workflows/biolib.yml +21 -0
  35. biolib/_internal/templates/gitignore_template/.gitignore +10 -0
  36. biolib/_internal/templates/gui_template/.yarnrc.yml +1 -0
  37. biolib/_internal/templates/gui_template/App.tsx +53 -0
  38. biolib/_internal/templates/gui_template/Dockerfile +27 -0
  39. biolib/_internal/templates/gui_template/biolib-sdk.ts +82 -0
  40. biolib/_internal/templates/gui_template/dev-data/output.json +7 -0
  41. biolib/_internal/templates/gui_template/index.css +5 -0
  42. biolib/_internal/templates/gui_template/index.html +13 -0
  43. biolib/_internal/templates/gui_template/index.tsx +10 -0
  44. biolib/_internal/templates/gui_template/package.json +27 -0
  45. biolib/_internal/templates/gui_template/tsconfig.json +24 -0
  46. biolib/_internal/templates/gui_template/vite-plugin-dev-data.ts +50 -0
  47. biolib/_internal/templates/gui_template/vite.config.mts +10 -0
  48. biolib/_internal/templates/init_template/.biolib/config.yml +19 -0
  49. biolib/_internal/templates/init_template/Dockerfile +14 -0
  50. biolib/_internal/templates/init_template/requirements.txt +1 -0
  51. biolib/_internal/templates/init_template/run.py +12 -0
  52. biolib/_internal/templates/init_template/run.sh +4 -0
  53. biolib/_internal/templates/templates.py +25 -0
  54. biolib/_internal/tree_utils.py +106 -0
  55. biolib/_internal/utils/__init__.py +65 -0
  56. biolib/_internal/utils/auth.py +46 -0
  57. biolib/_internal/utils/job_url.py +33 -0
  58. biolib/_internal/utils/multinode.py +263 -0
  59. biolib/_runtime/runtime.py +157 -0
  60. biolib/_session/session.py +44 -0
  61. biolib/_shared/__init__.py +0 -0
  62. biolib/_shared/types/__init__.py +74 -0
  63. biolib/_shared/types/account.py +12 -0
  64. biolib/_shared/types/account_member.py +8 -0
  65. biolib/_shared/types/app.py +9 -0
  66. biolib/_shared/types/data_record.py +40 -0
  67. biolib/_shared/types/experiment.py +32 -0
  68. biolib/_shared/types/file_node.py +17 -0
  69. biolib/_shared/types/push.py +6 -0
  70. biolib/_shared/types/resource.py +37 -0
  71. biolib/_shared/types/resource_deploy_key.py +11 -0
  72. biolib/_shared/types/resource_permission.py +14 -0
  73. biolib/_shared/types/resource_version.py +19 -0
  74. biolib/_shared/types/result.py +14 -0
  75. biolib/_shared/types/typing.py +10 -0
  76. biolib/_shared/types/user.py +19 -0
  77. biolib/_shared/utils/__init__.py +7 -0
  78. biolib/_shared/utils/resource_uri.py +75 -0
  79. biolib/api/__init__.py +6 -0
  80. biolib/api/client.py +168 -0
  81. biolib/app/app.py +252 -49
  82. biolib/app/search_apps.py +45 -0
  83. biolib/biolib_api_client/api_client.py +126 -31
  84. biolib/biolib_api_client/app_types.py +24 -4
  85. biolib/biolib_api_client/auth.py +31 -8
  86. biolib/biolib_api_client/biolib_app_api.py +147 -52
  87. biolib/biolib_api_client/biolib_job_api.py +161 -141
  88. biolib/biolib_api_client/job_types.py +21 -5
  89. biolib/biolib_api_client/lfs_types.py +7 -23
  90. biolib/biolib_api_client/user_state.py +56 -0
  91. biolib/biolib_binary_format/__init__.py +1 -4
  92. biolib/biolib_binary_format/file_in_container.py +105 -0
  93. biolib/biolib_binary_format/module_input.py +24 -7
  94. biolib/biolib_binary_format/module_output_v2.py +149 -0
  95. biolib/biolib_binary_format/remote_endpoints.py +34 -0
  96. biolib/biolib_binary_format/remote_stream_seeker.py +59 -0
  97. biolib/biolib_binary_format/saved_job.py +3 -2
  98. biolib/biolib_binary_format/{attestation_document.py → stdout_and_stderr.py} +8 -8
  99. biolib/biolib_binary_format/system_status_update.py +3 -2
  100. biolib/biolib_binary_format/utils.py +175 -0
  101. biolib/biolib_docker_client/__init__.py +11 -2
  102. biolib/biolib_errors.py +36 -0
  103. biolib/biolib_logging.py +27 -10
  104. biolib/cli/__init__.py +38 -0
  105. biolib/cli/auth.py +46 -0
  106. biolib/cli/data_record.py +164 -0
  107. biolib/cli/index.py +32 -0
  108. biolib/cli/init.py +421 -0
  109. biolib/cli/lfs.py +101 -0
  110. biolib/cli/push.py +50 -0
  111. biolib/cli/run.py +63 -0
  112. biolib/cli/runtime.py +14 -0
  113. biolib/cli/sdk.py +16 -0
  114. biolib/cli/start.py +56 -0
  115. biolib/compute_node/cloud_utils/cloud_utils.py +110 -161
  116. biolib/compute_node/job_worker/cache_state.py +66 -88
  117. biolib/compute_node/job_worker/cache_types.py +1 -6
  118. biolib/compute_node/job_worker/docker_image_cache.py +112 -37
  119. biolib/compute_node/job_worker/executors/__init__.py +0 -3
  120. biolib/compute_node/job_worker/executors/docker_executor.py +532 -199
  121. biolib/compute_node/job_worker/executors/docker_types.py +9 -1
  122. biolib/compute_node/job_worker/executors/types.py +19 -9
  123. biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +30 -0
  124. biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +3 -5
  125. biolib/compute_node/job_worker/job_storage.py +108 -0
  126. biolib/compute_node/job_worker/job_worker.py +397 -212
  127. biolib/compute_node/job_worker/large_file_system.py +87 -38
  128. biolib/compute_node/job_worker/network_alloc.py +99 -0
  129. biolib/compute_node/job_worker/network_buffer.py +240 -0
  130. biolib/compute_node/job_worker/utilization_reporter_thread.py +197 -0
  131. biolib/compute_node/job_worker/utils.py +9 -24
  132. biolib/compute_node/remote_host_proxy.py +400 -98
  133. biolib/compute_node/utils.py +31 -9
  134. biolib/compute_node/webserver/compute_node_results_proxy.py +189 -0
  135. biolib/compute_node/webserver/proxy_utils.py +28 -0
  136. biolib/compute_node/webserver/webserver.py +130 -44
  137. biolib/compute_node/webserver/webserver_types.py +2 -6
  138. biolib/compute_node/webserver/webserver_utils.py +77 -12
  139. biolib/compute_node/webserver/worker_thread.py +183 -42
  140. biolib/experiments/__init__.py +0 -0
  141. biolib/experiments/experiment.py +356 -0
  142. biolib/jobs/__init__.py +1 -0
  143. biolib/jobs/job.py +741 -0
  144. biolib/jobs/job_result.py +185 -0
  145. biolib/jobs/types.py +50 -0
  146. biolib/py.typed +0 -0
  147. biolib/runtime/__init__.py +14 -0
  148. biolib/sdk/__init__.py +91 -0
  149. biolib/tables.py +34 -0
  150. biolib/typing_utils.py +2 -7
  151. biolib/user/__init__.py +1 -0
  152. biolib/user/sign_in.py +54 -0
  153. biolib/utils/__init__.py +162 -0
  154. biolib/utils/cache_state.py +94 -0
  155. biolib/utils/multipart_uploader.py +194 -0
  156. biolib/utils/seq_util.py +150 -0
  157. biolib/utils/zip/remote_zip.py +640 -0
  158. pybiolib-1.2.1890.dist-info/METADATA +41 -0
  159. pybiolib-1.2.1890.dist-info/RECORD +177 -0
  160. {pybiolib-0.2.951.dist-info → pybiolib-1.2.1890.dist-info}/WHEEL +1 -1
  161. pybiolib-1.2.1890.dist-info/entry_points.txt +2 -0
  162. README.md +0 -17
  163. biolib/app/app_result.py +0 -68
  164. biolib/app/utils.py +0 -62
  165. biolib/biolib-js/0-biolib.worker.js +0 -1
  166. biolib/biolib-js/1-biolib.worker.js +0 -1
  167. biolib/biolib-js/2-biolib.worker.js +0 -1
  168. biolib/biolib-js/3-biolib.worker.js +0 -1
  169. biolib/biolib-js/4-biolib.worker.js +0 -1
  170. biolib/biolib-js/5-biolib.worker.js +0 -1
  171. biolib/biolib-js/6-biolib.worker.js +0 -1
  172. biolib/biolib-js/index.html +0 -10
  173. biolib/biolib-js/main-biolib.js +0 -1
  174. biolib/biolib_api_client/biolib_account_api.py +0 -21
  175. biolib/biolib_api_client/biolib_large_file_system_api.py +0 -108
  176. biolib/biolib_binary_format/aes_encrypted_package.py +0 -42
  177. biolib/biolib_binary_format/module_output.py +0 -58
  178. biolib/biolib_binary_format/rsa_encrypted_aes_package.py +0 -57
  179. biolib/biolib_push.py +0 -114
  180. biolib/cli.py +0 -203
  181. biolib/cli_utils.py +0 -273
  182. biolib/compute_node/cloud_utils/enclave_parent_types.py +0 -7
  183. biolib/compute_node/enclave/__init__.py +0 -2
  184. biolib/compute_node/enclave/enclave_remote_hosts.py +0 -53
  185. biolib/compute_node/enclave/nitro_secure_module_utils.py +0 -64
  186. biolib/compute_node/job_worker/executors/base_executor.py +0 -18
  187. biolib/compute_node/job_worker/executors/pyppeteer_executor.py +0 -173
  188. biolib/compute_node/job_worker/executors/remote/__init__.py +0 -1
  189. biolib/compute_node/job_worker/executors/remote/nitro_enclave_utils.py +0 -81
  190. biolib/compute_node/job_worker/executors/remote/remote_executor.py +0 -51
  191. biolib/lfs.py +0 -196
  192. biolib/pyppeteer/.circleci/config.yml +0 -100
  193. biolib/pyppeteer/.coveragerc +0 -3
  194. biolib/pyppeteer/.gitignore +0 -89
  195. biolib/pyppeteer/.pre-commit-config.yaml +0 -28
  196. biolib/pyppeteer/CHANGES.md +0 -253
  197. biolib/pyppeteer/CONTRIBUTING.md +0 -26
  198. biolib/pyppeteer/LICENSE +0 -12
  199. biolib/pyppeteer/README.md +0 -137
  200. biolib/pyppeteer/docs/Makefile +0 -177
  201. biolib/pyppeteer/docs/_static/custom.css +0 -28
  202. biolib/pyppeteer/docs/_templates/layout.html +0 -10
  203. biolib/pyppeteer/docs/changes.md +0 -1
  204. biolib/pyppeteer/docs/conf.py +0 -299
  205. biolib/pyppeteer/docs/index.md +0 -21
  206. biolib/pyppeteer/docs/make.bat +0 -242
  207. biolib/pyppeteer/docs/reference.md +0 -211
  208. biolib/pyppeteer/docs/server.py +0 -60
  209. biolib/pyppeteer/poetry.lock +0 -1699
  210. biolib/pyppeteer/pyppeteer/__init__.py +0 -135
  211. biolib/pyppeteer/pyppeteer/accessibility.py +0 -286
  212. biolib/pyppeteer/pyppeteer/browser.py +0 -401
  213. biolib/pyppeteer/pyppeteer/browser_fetcher.py +0 -194
  214. biolib/pyppeteer/pyppeteer/command.py +0 -22
  215. biolib/pyppeteer/pyppeteer/connection/__init__.py +0 -242
  216. biolib/pyppeteer/pyppeteer/connection/cdpsession.py +0 -101
  217. biolib/pyppeteer/pyppeteer/coverage.py +0 -346
  218. biolib/pyppeteer/pyppeteer/device_descriptors.py +0 -787
  219. biolib/pyppeteer/pyppeteer/dialog.py +0 -79
  220. biolib/pyppeteer/pyppeteer/domworld.py +0 -597
  221. biolib/pyppeteer/pyppeteer/emulation_manager.py +0 -53
  222. biolib/pyppeteer/pyppeteer/errors.py +0 -48
  223. biolib/pyppeteer/pyppeteer/events.py +0 -63
  224. biolib/pyppeteer/pyppeteer/execution_context.py +0 -156
  225. biolib/pyppeteer/pyppeteer/frame/__init__.py +0 -299
  226. biolib/pyppeteer/pyppeteer/frame/frame_manager.py +0 -306
  227. biolib/pyppeteer/pyppeteer/helpers.py +0 -245
  228. biolib/pyppeteer/pyppeteer/input.py +0 -371
  229. biolib/pyppeteer/pyppeteer/jshandle.py +0 -598
  230. biolib/pyppeteer/pyppeteer/launcher.py +0 -683
  231. biolib/pyppeteer/pyppeteer/lifecycle_watcher.py +0 -169
  232. biolib/pyppeteer/pyppeteer/models/__init__.py +0 -103
  233. biolib/pyppeteer/pyppeteer/models/_protocol.py +0 -12460
  234. biolib/pyppeteer/pyppeteer/multimap.py +0 -82
  235. biolib/pyppeteer/pyppeteer/network_manager.py +0 -678
  236. biolib/pyppeteer/pyppeteer/options.py +0 -8
  237. biolib/pyppeteer/pyppeteer/page.py +0 -1728
  238. biolib/pyppeteer/pyppeteer/pipe_transport.py +0 -59
  239. biolib/pyppeteer/pyppeteer/target.py +0 -147
  240. biolib/pyppeteer/pyppeteer/task_queue.py +0 -24
  241. biolib/pyppeteer/pyppeteer/timeout_settings.py +0 -36
  242. biolib/pyppeteer/pyppeteer/tracing.py +0 -93
  243. biolib/pyppeteer/pyppeteer/us_keyboard_layout.py +0 -305
  244. biolib/pyppeteer/pyppeteer/util.py +0 -18
  245. biolib/pyppeteer/pyppeteer/websocket_transport.py +0 -47
  246. biolib/pyppeteer/pyppeteer/worker.py +0 -101
  247. biolib/pyppeteer/pyproject.toml +0 -97
  248. biolib/pyppeteer/spell.txt +0 -137
  249. biolib/pyppeteer/tox.ini +0 -72
  250. biolib/pyppeteer/utils/generate_protocol_types.py +0 -603
  251. biolib/start_cli.py +0 -7
  252. biolib/utils.py +0 -47
  253. biolib/validators/validate_app_version.py +0 -183
  254. biolib/validators/validate_argument.py +0 -134
  255. biolib/validators/validate_module.py +0 -323
  256. biolib/validators/validate_zip_file.py +0 -40
  257. biolib/validators/validator_utils.py +0 -103
  258. pybiolib-0.2.951.dist-info/LICENSE +0 -21
  259. pybiolib-0.2.951.dist-info/METADATA +0 -61
  260. pybiolib-0.2.951.dist-info/RECORD +0 -153
  261. pybiolib-0.2.951.dist-info/entry_points.txt +0 -3
  262. /LICENSE → /pybiolib-1.2.1890.dist-info/licenses/LICENSE +0 -0
@@ -0,0 +1,177 @@
1
+ biolib/__init__.py,sha256=-pz1Ipyj1KmB709yYpl2Y-iKOWXpLxcFzL48G8rr9cU,12146
2
+ biolib/biolib_errors.py,sha256=eyQolC4oGi350BDEMOd-gAHYVqo2L2lYgv6c4ZdXPjQ,1184
3
+ biolib/biolib_logging.py,sha256=Y3qALGNYaTHdXP2aPFNWfxN71pk2Z3syMG6XrYcRZT8,2863
4
+ biolib/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ biolib/tables.py,sha256=MmruV-nJLc3HbLVJBAiDuDCgS2-4oaUkpoCLLUNYbxQ,1173
6
+ biolib/typing_utils.py,sha256=TMw723SPq8zy1VYsdgbq_LPsGtCm3VgFhzz6srt71u0,146
7
+ biolib/_data_record/data_record.py,sha256=b7OL6dOXQap6XuVTASqVZkllSzKaQ5gG-ACpPi0YVeM,16261
8
+ biolib/_index/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ biolib/_index/index.py,sha256=4LNtrosJk7ETW5vVR4_qoiJWuga6pudXsVsgW3Je8dE,1856
10
+ biolib/_index/query_result.py,sha256=0wygyNCt1uv4c0Dpu8GCPlF9xRoxwwVGP3gvJqRId7M,3631
11
+ biolib/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ biolib/_internal/add_copilot_prompts.py,sha256=sXKUi8mahKPiKeCjOu4Vi4eGdkjDCcy_9HxgSEk4-E0,2605
13
+ biolib/_internal/add_gui_files.py,sha256=UR7qNGquRwNlBIpaGMQyfaZtlicdJxzZ__LpkdVQQWo,3129
14
+ biolib/_internal/errors.py,sha256=AokI6Dvaa22B__LTfSZUVdDsm0ye7lgBFv_aD9O_kbs,163
15
+ biolib/_internal/file_utils.py,sha256=62yDRC_3hLKh0_Pbny7-syVduVSnc3H1Rv_D6zbGnS4,4518
16
+ biolib/_internal/http_client.py,sha256=9-3HG6LnLwJfrwjCeFj5XigHVH8Dzz6Dpr58IjQJHDo,6221
17
+ biolib/_internal/push_application.py,sha256=_CMCJZNLcRQ_hWje5_HvD8Re4l55NyTjniMglv3kjaw,21128
18
+ biolib/_internal/runtime.py,sha256=SnunTYa1-056cvb_Z-JwYyUaz5Zoem8jm4RjY3V8zGw,554
19
+ biolib/_internal/string_utils.py,sha256=N7J7oGu6_yA_z0pOiKqxEh__lRdiDLh6kigeDkQEZ5g,265
20
+ biolib/_internal/tree_utils.py,sha256=_Q_6_NDtIiROcefymqxEVddjqti6Mt3OZ4U0GcDW61s,3904
21
+ biolib/_internal/data_record/__init__.py,sha256=j9ro2BB7PZ5YwKV_mERrPrXrW7DmO3EdFGN0uUSr_IM,44
22
+ biolib/_internal/data_record/data_record.py,sha256=7iqyqTbOfN4o0W5LjiQCSyjHaSEHPT4Cdy0hZmHvdrw,3729
23
+ biolib/_internal/data_record/push_data.py,sha256=WAvZYLQHTA36kX4uvVu1p0UgiDpf0zNFK3blmfxdZ4Y,4369
24
+ biolib/_internal/data_record/remote_storage_endpoint.py,sha256=qMkprUKff7buVH-Ce6Dxtj2OJ5C68T-UQOkmLbp_a5U,1828
25
+ biolib/_internal/fuse_mount/__init__.py,sha256=B_tM6RM2dBw-vbpoHJC4X3tOAaN1H2RDvqYJOw3xFwg,55
26
+ biolib/_internal/fuse_mount/experiment_fuse_mount.py,sha256=08aUdEq_bvqLBft_gSLjOClKDy5sBnMts1RfJf7AP_U,7012
27
+ biolib/_internal/lfs/__init__.py,sha256=gSWo_xg61UniYgD7yNYxeT4I9uaXBCBSi3_nmZjnPpE,35
28
+ biolib/_internal/lfs/cache.py,sha256=XMnUuB6vwyv8H_Ha6r6n-QruHUY_YrBj-l2xcXj57QI,2362
29
+ biolib/_internal/libs/__init__.py,sha256=Jdf4tNPqe_oIIf6zYml6TiqhL_02Vyqwge6IELrAFhw,98
30
+ biolib/_internal/libs/fusepy/__init__.py,sha256=AWDzNFS-XV_5yKb0Qx7kggIhPzq1nj_BZS5y2Nso08k,41944
31
+ biolib/_internal/templates/__init__.py,sha256=NVbhLUMC8HITzkLvP88Qu7FHaL-SvQord-DX3gh1Ykk,24
32
+ biolib/_internal/templates/templates.py,sha256=E4w9QSB4FlqvbzxkV3-CppTFfwjjfrFkERfDllj_NdQ,644
33
+ biolib/_internal/templates/copilot_template/.github/instructions/general-app-knowledge.instructions.md,sha256=-j8v0GRtDhHoqP2wcGUykiwU7HQ0DmkCNxw_01oKMdY,546
34
+ biolib/_internal/templates/copilot_template/.github/instructions/style-general.instructions.md,sha256=5PfCwWV_--cVBdQ8yEOFvzl8iva354Dp4Py4ub288NU,1187
35
+ biolib/_internal/templates/copilot_template/.github/instructions/style-python.instructions.md,sha256=xfypuPqMsz5ejobDoVI0HjmNqksl16aFuIol1nAhpHg,1034
36
+ biolib/_internal/templates/copilot_template/.github/instructions/style-react-ts.instructions.md,sha256=P-heJDSgxqo67YLjFQZ-iIu9Vh0Wln4Jgl6_GzprVQI,2083
37
+ biolib/_internal/templates/copilot_template/.github/prompts/biolib_app_inputs.prompt.md,sha256=SMzXZImdID0yKjhE1fG54VrHdD8IVuwRxRKsMF-KjWs,697
38
+ biolib/_internal/templates/copilot_template/.github/prompts/biolib_onboard_repo.prompt.md,sha256=BfCkVyafDHFBMu6qcvKlxpnXKJRHNDp5qR_fN4XB9pI,1515
39
+ biolib/_internal/templates/copilot_template/.github/prompts/biolib_run_apps.prompt.md,sha256=-t1bmGr3zEFa6lKHaLcI98yq4Sg1TCMW8xbelNSHaOA,696
40
+ biolib/_internal/templates/dashboard_template/.biolib/config.yml,sha256=LjAtHfNHVzUWJivUyYlYHUuzoZppXuutwWgHRtin0sI,88
41
+ biolib/_internal/templates/github_workflow_template/.github/workflows/biolib.yml,sha256=M8Iz5W2RQB8Qc69Gx62F6NEQqIAQvkYGABq79OEDr7o,623
42
+ biolib/_internal/templates/gitignore_template/.gitignore,sha256=LMMAslUNJl5GwA5heZSpsiivLIv2zrporFNsfL9YDaE,91
43
+ biolib/_internal/templates/gui_template/.yarnrc.yml,sha256=Rz5t74b8A2OBIODAHQyLurCVZ3JWRg-k6nY-XUaX8nA,25
44
+ biolib/_internal/templates/gui_template/App.tsx,sha256=VfaJO_mxbheRrfO1dU28G9Q4pGsGzeJpPREqtAT4fGE,1692
45
+ biolib/_internal/templates/gui_template/Dockerfile,sha256=bgbfpAvYvQ7eMIpaKSgDMI3JZ_kymY8Xe_nL6r6_WAo,465
46
+ biolib/_internal/templates/gui_template/biolib-sdk.ts,sha256=RaH_mrVZ_uJj1ozm8jukWBGOZ2OGmk0FL0pnTW9mQgA,2697
47
+ biolib/_internal/templates/gui_template/index.css,sha256=WYds1xQY2of84ebHhRW9ummbw0Bg9N-EyfmBzJKigck,70
48
+ biolib/_internal/templates/gui_template/index.html,sha256=3qeOt-okIQmbnvhMrxUUX7SXoHT1hrFwmTxUaQduPck,395
49
+ biolib/_internal/templates/gui_template/index.tsx,sha256=YrdrpcckwLo0kYIA-2egtzlo0OMWigGxnt7mNN4qmlU,234
50
+ biolib/_internal/templates/gui_template/package.json,sha256=4E8pDdnrYYjmKAL8NYFE3OZzBf4-CWdHWEZFAo_zBwg,652
51
+ biolib/_internal/templates/gui_template/tsconfig.json,sha256=T3DJIzeLQ2BL8HLfPHI-IvHtJhnMXdHOoRjkmQlJQAw,541
52
+ biolib/_internal/templates/gui_template/vite-plugin-dev-data.ts,sha256=HNzXohBzVhh84WfYpGry9pPrqvNBm6_2cKvXQRqdRDc,1492
53
+ biolib/_internal/templates/gui_template/vite.config.mts,sha256=0MF6csou2o0hx6_2_Nw9YRy6wN4ABmMs1sCqYFPo96w,363
54
+ biolib/_internal/templates/gui_template/dev-data/output.json,sha256=wKcJQtN7NGaCJkmEWyRjEbBtTLMHB6pOkqTgWsKmOh8,162
55
+ biolib/_internal/templates/init_template/Dockerfile,sha256=gl558zz35nGWp8fESS-tztC4Lnbft05oNmOeJ1O_QwY,246
56
+ biolib/_internal/templates/init_template/requirements.txt,sha256=2GnBHsKg4tX5F06Z4YeLuId6jQO3-HGTITsaVBTDG0Y,42
57
+ biolib/_internal/templates/init_template/run.py,sha256=oat-Vzcz4XZilrTtgy8CzfltBAa5v6iduGof4Tuulhg,402
58
+ biolib/_internal/templates/init_template/run.sh,sha256=ncvInHCn_PgjXmvaa5oBU0vC3dgFJQ6k7fUJKJzpOh4,69
59
+ biolib/_internal/templates/init_template/.biolib/config.yml,sha256=gxMVd1wjbsDvMv4byc8fKEdJFby4qgi6v38mO5qmhoY,453
60
+ biolib/_internal/utils/__init__.py,sha256=Uj8QawKcyXaw4oWO9n4vnF8o-qqSTdgJ6KztFYEli6g,2092
61
+ biolib/_internal/utils/auth.py,sha256=aPJOF8j38TOS_h_UFdw_AcXlI18YFU-LrmsILX0FPdU,1432
62
+ biolib/_internal/utils/job_url.py,sha256=YpwqCP56BD15M8p2tuSY_Z3O9vWAkG2rJbQu2Z5zqq0,1265
63
+ biolib/_internal/utils/multinode.py,sha256=N7kR49xD1PdkMVlxxzRiSYHfgi9MG-kLCwemcY1rojg,8323
64
+ biolib/_runtime/runtime.py,sha256=pzHpbLlMt4PM0GxT-2pLTtNAtdHgg7N3vhpmkzt42EA,6146
65
+ biolib/_session/session.py,sha256=nP6ETTMUQygElrRIFq8zr9QqjHwmKMsvf6BpiRLUUW4,1821
66
+ biolib/_shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
+ biolib/_shared/types/__init__.py,sha256=UtMVBWMUKvgsLYKh4i4lfgxkUvqlh0HAbfvTAYaBta0,2202
68
+ biolib/_shared/types/account.py,sha256=_MY59S_8r3OqT630HzEoRnS6VnbbLm296wP2WrdpdjM,190
69
+ biolib/_shared/types/account_member.py,sha256=aCcel1McoAsH83Mv1mqawK2Q-yt4OI0xrgPiKjg4Tqg,178
70
+ biolib/_shared/types/app.py,sha256=Mz2QGD_jESX-K9JYnLWPo4YA__Q_1FQQTk9pvidCohU,118
71
+ biolib/_shared/types/data_record.py,sha256=9r_vdhVs60YTnzU4XQFXfDrfS2P2MqD3BH2xa7lk6ck,852
72
+ biolib/_shared/types/experiment.py,sha256=7WERhHnkbO3qrPWZyJmu-KrKOGRXaX5xdLBUNHh17KE,714
73
+ biolib/_shared/types/file_node.py,sha256=T6BIqo662f3nwMBRqtBHYsg6YuuUaKpiokHcVjv9_ME,283
74
+ biolib/_shared/types/push.py,sha256=qSXCjdzOmHG7_QiwXaNSrVkESTMxnIKPvEut-9Mqt-g,108
75
+ biolib/_shared/types/resource.py,sha256=yMepJ4MA_vQrs1Pqu6LufXSoq7chGyHpEFCW-Smc8hU,920
76
+ biolib/_shared/types/resource_deploy_key.py,sha256=vwPKRHxjkrkEptBiJUovE4P0N4EuZr43_U0u_JP8Pag,204
77
+ biolib/_shared/types/resource_permission.py,sha256=ZE7eokpzswAiqe4GdpdxdZ6_jl0LdiRD9gP81I8C3fY,292
78
+ biolib/_shared/types/resource_version.py,sha256=BwKIsJQjOwJP7-s-gXcy-EBHMDEmkxOHaMKsDQtZzV4,479
79
+ biolib/_shared/types/result.py,sha256=MesSTBXCkaw8HydXgHf1OKGVLzsxhZ1KV5z4w-VI-0M,231
80
+ biolib/_shared/types/typing.py,sha256=qrsk8hHcGEbDpU1QQFzHAKnhQxkMe7uJ6pxHeAnfv1Y,414
81
+ biolib/_shared/types/user.py,sha256=5_hYG0jrdGxynCCWXGaHZCAlVcRKBqMIEA2EBGrnpiE,439
82
+ biolib/_shared/utils/__init__.py,sha256=3PaCkPREN3zgWszO65lHDdqwo958rD9OzCKGmUEP-Fc,216
83
+ biolib/_shared/utils/resource_uri.py,sha256=-jZ9g8aenms0SInVrhvBHAgwy8MsaTNBLYFh4Dr1JOU,2909
84
+ biolib/api/__init__.py,sha256=mQ4u8FijqyLzjYMezMUUbbBGNB3iFmkNdjXnWPZ7Jlw,138
85
+ biolib/api/client.py,sha256=9b5f1V_2QCz5CxITfY0zZyjtcPUCj9oG8zUNkPdJNvk,6477
86
+ biolib/app/__init__.py,sha256=cdPtcfb_U-bxb9iSL4fCEq2rpD9OjkyY4W-Zw60B0LI,37
87
+ biolib/app/app.py,sha256=CY4M2Ty7L7sGVUNa-2JD3Udn1Qmg5EJKB7KYAFt4hv8,13034
88
+ biolib/app/search_apps.py,sha256=K4a41f5XIWth2BWI7OffASgIsD0ko8elCax8YL2igaY,1470
89
+ biolib/biolib_api_client/__init__.py,sha256=E5EMa19wJoblwSdQPYrxc_BtIeRsAuO0L_jQweWw-Yk,182
90
+ biolib/biolib_api_client/api_client.py,sha256=JwH1_3rD0E_gs5x39TN_AajsC7o1wvQx3pAlGMzwANQ,6109
91
+ biolib/biolib_api_client/app_types.py,sha256=rhdn8uFOWHv70Zxyd0pSqdh3lPD6bPYJOl8rtztLGQU,2452
92
+ biolib/biolib_api_client/auth.py,sha256=kjm0ZHnH3I8so3su2sZbBxNHYp-ZUdrZ5lwQ0K36RSw,949
93
+ biolib/biolib_api_client/biolib_app_api.py,sha256=RSXaSdkbkLMfA5NmzAT5xyjQgyWqV_6fyWXwjVUS4XM,6034
94
+ biolib/biolib_api_client/biolib_job_api.py,sha256=ZHVvtBVPTFAbSvqIp2vmlWRlO_8Q2xyxq_MHs5XMFDc,7442
95
+ biolib/biolib_api_client/common_types.py,sha256=RH-1KNHqUF-EkTpfPOSTt5Mq1GPdfju_cqXDesscO1I,123
96
+ biolib/biolib_api_client/job_types.py,sha256=yBdBwjharbQJuXCi2xKMi0t_r6XxnbWnkchHekTpCJY,1351
97
+ biolib/biolib_api_client/lfs_types.py,sha256=joZWP6-sa5_Ug_6xIp5fHAgEo_bqLE3rbleQocZtDcg,339
98
+ biolib/biolib_api_client/user_state.py,sha256=Uc_xrzuuAB5x1xRr2tdHoCy7cQWI7sMuZwbY5dus2pA,1985
99
+ biolib/biolib_binary_format/__init__.py,sha256=HMl5SdX_VUWE4OQzi4Jf_yFvC7b0bSPOGPHYi9dWM2Q,185
100
+ biolib/biolib_binary_format/base_bbf_package.py,sha256=vxRV4iKy0dXeDOlFWnMFI0hGnDBYDH5Cgh5gAfuObt8,959
101
+ biolib/biolib_binary_format/file_in_container.py,sha256=j1eEPRxf_ew8I6G8sDiiZZxn4Wx1ppagfM9K8zTDG4U,3591
102
+ biolib/biolib_binary_format/module_input.py,sha256=NQsqNuWku7SIOG_lw41bQTpmj5cewnkgRYMd7bDHNtA,3214
103
+ biolib/biolib_binary_format/module_output_v2.py,sha256=J5ZO5gCSeudpE12EVDrjYrNTS2DwgszY-SVXT7Qjuyg,5913
104
+ biolib/biolib_binary_format/remote_endpoints.py,sha256=V41flKSdZ8bBwNjcH4z3fVWGqYDgLBqCBvg7VuYFPmc,1703
105
+ biolib/biolib_binary_format/remote_stream_seeker.py,sha256=hs5-V79dZEJ9vJuddEu4qX6NyXGNH0oyESS-jV7V20M,2397
106
+ biolib/biolib_binary_format/saved_job.py,sha256=nFHVFRNTNcAFGODLSiBntCtMk55QKwreUq6qLX80dI4,1125
107
+ biolib/biolib_binary_format/stdout_and_stderr.py,sha256=WfUUJFFCBrtfXjuWIaRPiWCpuBLxfko68oxoTKhrwx8,1023
108
+ biolib/biolib_binary_format/system_exception.py,sha256=T3iL4_cSHAHim3RSDPS8Xyb1mfteaJBZonSXuRltc28,853
109
+ biolib/biolib_binary_format/system_status_update.py,sha256=aOELuQ0k-GtpaZTUxYd0GFomP_OInmrK585y6fuQuKE,1191
110
+ biolib/biolib_binary_format/utils.py,sha256=jq31QEShs7TSrSKZBr8jif-bJAwVzQrqVxmymL6crpU,5453
111
+ biolib/biolib_docker_client/__init__.py,sha256=aBfA6mtWSI5dBEfNNMD6bIZzCPloW4ghKm0wqQiljdo,1481
112
+ biolib/cli/__init__.py,sha256=3f6-hcCmj9o4wPlkVHqkbn5zWxAENRm_Bino6iOs8Yw,1277
113
+ biolib/cli/auth.py,sha256=p9ZGY6ld2rnMbpsuRskvIQJNUHlSgYgcLTDsYGyUwyw,1407
114
+ biolib/cli/data_record.py,sha256=exBfyw-eqF4kpqMT_5NO5NFb8Z5IDpTLu8xNBY0GlAg,6648
115
+ biolib/cli/index.py,sha256=UeE4lo4NYL7-3DGrJyv1OvbdKmTlKMwdArliHTmIzPY,1081
116
+ biolib/cli/init.py,sha256=gRjmUodP0G69KO86rt9y1S_Jk4ttpHAGtE8qNhxK-Mk,16972
117
+ biolib/cli/lfs.py,sha256=mCwziiuzhsZW5UdpsVETDlVUvmO71gHKsV2D4wJ2qUY,4164
118
+ biolib/cli/push.py,sha256=J8BswMYVeTacZBHbm4K4a2XbS_I8kvfgRZLoby2wi3I,1695
119
+ biolib/cli/run.py,sha256=cWvIaychccFbVtGuQmiJ7syKtImPu7rU7l-9uHKfd4c,2185
120
+ biolib/cli/runtime.py,sha256=Xv-nrma5xX8NidWcvbUKcUvuN5TCarZa4A8mPVmF-z0,361
121
+ biolib/cli/sdk.py,sha256=XisJwTft4QDB_99eGDlz-WBqqRwIqkVg7HyvxWtOG8w,471
122
+ biolib/cli/start.py,sha256=BcjE4MRRLhBJULuSYQY0e7gMHudw7W-yFcz9klJ3xjo,2287
123
+ biolib/compute_node/.gitignore,sha256=GZdZ4g7HftqfOfasFpBC5zV1YQAbht1a7EzcXD6f3zg,45
124
+ biolib/compute_node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
+ biolib/compute_node/remote_host_proxy.py,sha256=iIRXk53FRiwgdIVXEIP835ERH8q-sDhs7tRilLAObI0,19991
126
+ biolib/compute_node/socker_listener_thread.py,sha256=T5_UikA3MB9bD5W_dckYLPTgixh72vKUlgbBvj9dbM0,1601
127
+ biolib/compute_node/socket_sender_thread.py,sha256=YgamPHeUm2GjMFGx8qk-99WlZhEs-kAb3q_2O6qByig,971
128
+ biolib/compute_node/utils.py,sha256=fvdbetPKMdfHkPqNZRw6eln_i13myu-n8tuceTUcfPU,4913
129
+ biolib/compute_node/cloud_utils/__init__.py,sha256=VZSScLqaz5tg_gpMvWgwkAu9Qf-vgW_QHRoDOaAmU44,67
130
+ biolib/compute_node/cloud_utils/cloud_utils.py,sha256=_iaKelsmQLLwbDKVXZMXPFZayZPH9iHXc4NISFP9uzk,7462
131
+ biolib/compute_node/job_worker/__init__.py,sha256=ipdPWaABKYrltxny15e2kK8PWdEE7VzXbkKK6wM_zDk,71
132
+ biolib/compute_node/job_worker/cache_state.py,sha256=MwjSRzcJJ_4jybqvBL4xdgnDYSIiw4s90pNn83Netoo,4830
133
+ biolib/compute_node/job_worker/cache_types.py,sha256=ajpLy8i09QeQS9dEqTn3T6NVNMY_YsHQkSD5nvIHccQ,818
134
+ biolib/compute_node/job_worker/docker_image_cache.py,sha256=ansHIkJIq_EMW1nZNlW-RRLVVeKWTbzNICYaOHpKiRE,7460
135
+ biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py,sha256=_cvEiZbOwfkv6fYmfrvdi_FVviIEYr_dSClQcOQaUWM,1198
136
+ biolib/compute_node/job_worker/job_max_runtime_timer_thread.py,sha256=K_xgz7IhiIjpLlXRk8sqaMyLoApcidJkgu29sJX0gb8,1174
137
+ biolib/compute_node/job_worker/job_storage.py,sha256=J6B5wkBo3cqmT1AV-qJnm2Lt9Qmcp3qn-1AabjO9m60,4686
138
+ biolib/compute_node/job_worker/job_worker.py,sha256=BY9_fo9OUVzUGcdAjnsP6WaPpJniWqgIhYuxELCA7d4,32094
139
+ biolib/compute_node/job_worker/large_file_system.py,sha256=Xe_LILVfTD9LXb-0HwLqGsp1fWiI-pU55BqgJ-6t8-0,10357
140
+ biolib/compute_node/job_worker/mappings.py,sha256=Z48Kg4nbcOvsT2-9o3RRikBkqflgO4XeaWxTGz-CNvI,2499
141
+ biolib/compute_node/job_worker/network_alloc.py,sha256=b2xNrqHaVRKCMcFyZepQAuNsBWCzHMDTPeacBdo029s,3586
142
+ biolib/compute_node/job_worker/network_buffer.py,sha256=YIiYz_QZNK7O8SSFzLZf2i7drTk1ewd_gvjg9NgG5LQ,9051
143
+ biolib/compute_node/job_worker/utilization_reporter_thread.py,sha256=Tho8GdYVS93Jb5cJjuN3O0qGQ0JIlxabiaGfTp1ksV0,8594
144
+ biolib/compute_node/job_worker/utils.py,sha256=wgxcIA8yAhUPdCwyvuuJ0JmreyWmmUoBO33vWtG60xg,1282
145
+ biolib/compute_node/job_worker/executors/__init__.py,sha256=bW6t1qi3PZTlHM4quaTLa8EI4ALTCk83cqcVJfJfJfE,145
146
+ biolib/compute_node/job_worker/executors/docker_executor.py,sha256=PS7c1DMEcwv5Gsrh0mjwlAuEf7BTSNooW9XODqXofRE,32896
147
+ biolib/compute_node/job_worker/executors/docker_types.py,sha256=Hh8SwQYBLdIMGWgITwD2fzoo_sbW2ESx1G8j9Zq2n30,216
148
+ biolib/compute_node/job_worker/executors/types.py,sha256=dlp7p8KKkd19nC68o-RuAzRBhpdYFMWKg-__LFjvscs,1611
149
+ biolib/compute_node/job_worker/executors/tars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
150
+ biolib/compute_node/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
+ biolib/compute_node/webserver/compute_node_results_proxy.py,sha256=wir4g0fp2_kg9m7Tkualxpxnv-k01Y0kIGV1OrV-jgM,8026
152
+ biolib/compute_node/webserver/gunicorn_flask_application.py,sha256=jPfR_YvNBekLUXWo_vHFV-FIwlb8s8tacKmGHvh93qc,914
153
+ biolib/compute_node/webserver/proxy_utils.py,sha256=JNt1oqPuR5n63E5NC1l8AZN51NLuMw4lqVkocZnq72o,1164
154
+ biolib/compute_node/webserver/webserver.py,sha256=8SUGXJ0tGuUIQ3HKdac-CFFQwDVpKR6JwEINChBt-Qg,9067
155
+ biolib/compute_node/webserver/webserver_types.py,sha256=2t8EaFKESnves3BA_NBdnS2yAdo1qwamCFHiSt888nE,380
156
+ biolib/compute_node/webserver/webserver_utils.py,sha256=XWvwYPbWNR3qS0FYbLLp-MDDfVk0QdaAmg3xPrT0H2s,4234
157
+ biolib/compute_node/webserver/worker_thread.py,sha256=7uD9yQPhePYvP2HCJ27EeZ_h6psfIWFgqm1RHZxzobs,12483
158
+ biolib/experiments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
159
+ biolib/experiments/experiment.py,sha256=Dw1bEZUaGs9-cqheGX_IsJ1McOelcdSsvjKuyrv2BQU,14299
160
+ biolib/jobs/__init__.py,sha256=aIb2H2DHjQbM2Bs-dysFijhwFcL58Blp0Co0gimED3w,32
161
+ biolib/jobs/job.py,sha256=3rP__a_UJWdUzOngtmYekzTV1ttKugB1EyXP7SIN37A,31845
162
+ biolib/jobs/job_result.py,sha256=8-AswQPTfU9BeY1rw2Ftfn68WkyjuzH-tvWbFXaLJ7c,7642
163
+ biolib/jobs/types.py,sha256=rFs6bQWsNI-nb1Hu9QzOW2zFZ8bOVt7ax4UpGVASxVA,1034
164
+ biolib/runtime/__init__.py,sha256=MlRepA11n2H-3plB5rzWyyHK2JmP6PiaP3i6x3vt0mg,506
165
+ biolib/sdk/__init__.py,sha256=yGg0hpQLXApX2k9mi0Nl4u72L46vZrLzQfNORPUnARw,2962
166
+ biolib/user/__init__.py,sha256=Db5wtxLfFz3ID9TULSSTo77csw9tO6RtxMRvV5cqKEE,39
167
+ biolib/user/sign_in.py,sha256=e_JnykVxemq8eUBD5GmthjDV504CT1Dmn0EshrDCGB8,2085
168
+ biolib/utils/__init__.py,sha256=VtuTFu8zWZwJzfYhVEpPdlhvTA2JkHCboqqQA-VNkpA,5790
169
+ biolib/utils/cache_state.py,sha256=ykQFIGKiNc8ADOFBWjSckV52PRZp1FarSVSRNE1Ju3Y,3406
170
+ biolib/utils/multipart_uploader.py,sha256=4-jxFPXtm4j-a3AUsW15GA0xMp_P667ODFHBgaCcytk,8674
171
+ biolib/utils/seq_util.py,sha256=rImaghQGuIqTVWks6b9P2yKuN34uePUYPUFW_Wyoa4A,6737
172
+ biolib/utils/zip/remote_zip.py,sha256=0wErYlxir5921agfFeV1xVjf29l9VNgGQvNlWOlj2Yc,23232
173
+ pybiolib-1.2.1890.dist-info/METADATA,sha256=OBrL4UfcyIpUM4e1Crr9WGwdQbJERu8hkX1RHcP-dCU,1155
174
+ pybiolib-1.2.1890.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
175
+ pybiolib-1.2.1890.dist-info/entry_points.txt,sha256=YtPvuWP8ukZ3WwWH5_hQ6UGW6nDi54rcW2_bGQnbG7M,43
176
+ pybiolib-1.2.1890.dist-info/licenses/LICENSE,sha256=F2h7gf8i0agDIeWoBPXDMYScvQOz02pAWkKhTGOHaaw,1067
177
+ pybiolib-1.2.1890.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry 1.0.7
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ biolib = biolib:call_cli
README.md DELETED
@@ -1,17 +0,0 @@
1
- # PyBioLib
2
-
3
- PyBioLib is a Python package for running BioLib applications from Python scripts, and the command line.
4
-
5
- ### Python Example
6
- ```python
7
- # pip3 install pybiolib
8
- import biolib
9
- samtools = biolib.load('samtools/samtools')
10
- print(samtools.cli(args='--help'))
11
- ```
12
-
13
- ### Command Line Example
14
- ```bash
15
- pip3 install pybiolib
16
- biolib run samtools/samtools --help
17
- ```
biolib/app/app_result.py DELETED
@@ -1,68 +0,0 @@
1
- import re
2
- import time
3
- from pathlib import Path
4
- from typing import Dict
5
-
6
- import nest_asyncio # type: ignore # necessary import fix required for async to work in notebooks
7
-
8
- from biolib import cli_utils
9
- from biolib.biolib_logging import logger
10
-
11
- nest_asyncio.apply()
12
-
13
-
14
- class AppResult:
15
- def __init__(self, stdout: bytes, stderr: bytes, exitcode: int, files: Dict[str, bytes]):
16
- self._stdout = stdout
17
- self._stderr = stderr
18
- self._exitcode = exitcode
19
- self._files = files
20
-
21
- def __str__(self):
22
- return cli_utils.get_pretty_print_module_output_string(self._stdout, self._stderr, self._exitcode)
23
-
24
- def ipython_markdown(self):
25
- import IPython.display # type:ignore # pylint: disable=import-error, import-outside-toplevel
26
- markdown_str = self._stdout.decode('utf-8')
27
- # prepend ./biolib_results/ to all paths
28
- # ie [SeqLogo](./SeqLogo2.png) test ![SeqLogo](./SeqLogo.png)
29
- # ![SeqLogo](SeqLogo.png) ![SeqLogo](/SeqLogo.png)
30
- # is transformed to ![SeqLogo](./biolib_results/SeqLogo2.png) test ![SeqLogo](./biolib_results/SeqLogo.png)
31
- # ![SeqLogo](./biolib_results/SeqLogo.png) ![SeqLogo](./biolib_results/SeqLogo.png)
32
- markdown_str_modified = re.sub(
33
- r'\!\[([^\]]*)\]\((\.\/|\/|)([^\)]*)\)',
34
- r'![\1](./biolib_results/\3)',
35
- markdown_str,
36
- )
37
- IPython.display.display(IPython.display.Markdown(markdown_str_modified))
38
-
39
- def save_files(self, output_dir: str):
40
- logger.debug("Output Files:")
41
-
42
- for file_path, file_data in self._files.items():
43
- # Remove leading slash of file_path
44
- new_file_path = Path(output_dir) / Path(file_path.lstrip('/'))
45
- if new_file_path.exists():
46
- new_file_path.rename(f'{new_file_path}.biolib-renamed.{time.strftime("%Y%m%d%H%M%S")}')
47
-
48
- dir_path = new_file_path.parent
49
- if dir_path:
50
- dir_path.mkdir(parents=True, exist_ok=True)
51
-
52
- with open(new_file_path, 'wb') as output_file:
53
- output_file.write(file_data)
54
- logger.debug(f" - {new_file_path}")
55
-
56
- logger.debug('\n')
57
-
58
- @property
59
- def stdout(self) -> bytes:
60
- return self._stdout
61
-
62
- @property
63
- def stderr(self) -> bytes:
64
- return self._stderr
65
-
66
- @property
67
- def exitcode(self) -> int:
68
- return self._exitcode
biolib/app/utils.py DELETED
@@ -1,62 +0,0 @@
1
- import logging
2
- import os
3
- import sys
4
- import random
5
- import subprocess
6
- import time
7
- import pathlib
8
-
9
- import requests.exceptions
10
-
11
- from biolib.biolib_api_client import BiolibApiClient
12
- from biolib.biolib_api_client.biolib_job_api import BiolibJobApi
13
- from biolib.biolib_binary_format import ModuleOutput
14
- from biolib.biolib_errors import BioLibError
15
- from biolib.biolib_logging import logger
16
-
17
-
18
- # TODO: type return value as ModuleOutput class
19
- def run_job(job, module_input_serialized: bytes):
20
- host = '127.0.0.1'
21
- port = str(random.choice(range(5000, 65000)))
22
- node_url = f'http://{host}:{port}'
23
- job_id = job['public_id']
24
- logger.debug(f'Starting local compute node at {node_url}')
25
- start_cli_path = pathlib.Path(__file__).parent.parent.resolve() / 'start_cli.py'
26
- python_executable_path = sys.executable
27
- compute_node_process = subprocess.Popen(
28
- args=[python_executable_path, start_cli_path, 'start', '--host', host, '--port', port],
29
- env=dict(os.environ, BIOLIB_LOG=logging.getLevelName(logger.level)),
30
- )
31
- try:
32
- for retry in range(20):
33
- time.sleep(1)
34
- try:
35
- BiolibJobApi.save_compute_node_job(
36
- job=job,
37
- module_name='main',
38
- access_token=BiolibApiClient.get().access_token,
39
- node_url=node_url
40
- )
41
- break
42
-
43
- except requests.exceptions.ConnectionError:
44
- if retry == 19:
45
- raise BioLibError('Could not connect to local compute node') from None
46
- logger.debug('Could not connect to local compute node retrying...')
47
-
48
- BiolibJobApi.start_cloud_job(job_id, module_input_serialized, node_url)
49
- BiolibJobApi.await_compute_node_status(
50
- retry_interval_seconds=1.5,
51
- retry_limit_minutes=30,
52
- status_to_await='Result Ready',
53
- compute_type='Compute Node',
54
- job_id=job_id,
55
- node_url=node_url,
56
- )
57
-
58
- result = BiolibJobApi.get_cloud_result(job_id, node_url)
59
- return ModuleOutput(result).deserialize()
60
-
61
- finally:
62
- compute_node_process.terminate()