pybiolib 1.2.1337__tar.gz → 1.2.1352__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.

Potentially problematic release.


This version of pybiolib might be problematic. Click here for more details.

Files changed (168) hide show
  1. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/PKG-INFO +1 -1
  2. pybiolib-1.2.1352/biolib/_internal/templates/gui_template/App.tsx +53 -0
  3. pybiolib-1.2.1352/biolib/_internal/templates/gui_template/biolib-sdk.ts +34 -0
  4. pybiolib-1.2.1352/biolib/_internal/templates/gui_template/dev-data/output.json +7 -0
  5. pybiolib-1.2.1352/biolib/_internal/templates/gui_template/vite-plugin-dev-data.ts +52 -0
  6. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/vite.config.mts +2 -1
  7. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/pyproject.toml +1 -1
  8. pybiolib-1.2.1337/biolib/_internal/templates/gui_template/App.tsx +0 -17
  9. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/LICENSE +0 -0
  10. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/PYPI_README.md +0 -0
  11. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/__init__.py +0 -0
  12. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_data_record/data_record.py +0 -0
  13. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/__init__.py +0 -0
  14. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/add_copilot_prompts.py +0 -0
  15. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/add_gui_files.py +0 -0
  16. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/__init__.py +0 -0
  17. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/data_record.py +0 -0
  18. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/push_data.py +0 -0
  19. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
  20. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/errors.py +0 -0
  21. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/file_utils.py +0 -0
  22. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/fuse_mount/__init__.py +0 -0
  23. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
  24. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/http_client.py +0 -0
  25. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/lfs/__init__.py +0 -0
  26. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/lfs/cache.py +0 -0
  27. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/libs/__init__.py +0 -0
  28. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/libs/fusepy/__init__.py +0 -0
  29. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/push_application.py +0 -0
  30. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/runtime.py +0 -0
  31. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/string_utils.py +0 -0
  32. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/__init__.py +0 -0
  33. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/general-app-knowledge.instructions.md +0 -0
  34. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/style-general.instructions.md +0 -0
  35. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/style-python.instructions.md +0 -0
  36. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/style-react-ts.instructions.md +0 -0
  37. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_app_inputs.prompt.md +0 -0
  38. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_onboard_repo.prompt.md +0 -0
  39. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_run_apps.prompt.md +0 -0
  40. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/.yarnrc.yml +0 -0
  41. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/Dockerfile +0 -0
  42. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/index.css +0 -0
  43. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/index.html +0 -0
  44. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/index.tsx +0 -0
  45. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/package.json +0 -0
  46. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/tsconfig.json +0 -0
  47. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.biolib/config.yml +0 -0
  48. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.github/workflows/biolib.yml +0 -0
  49. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.gitignore +0 -0
  50. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/Dockerfile +0 -0
  51. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/requirements.txt +0 -0
  52. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/run.py +0 -0
  53. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/run.sh +0 -0
  54. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/templates.py +0 -0
  55. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/tree_utils.py +0 -0
  56. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/__init__.py +0 -0
  57. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/account.py +0 -0
  58. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/account_member.py +0 -0
  59. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/app.py +0 -0
  60. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/data_record.py +0 -0
  61. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/experiment.py +0 -0
  62. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/file_node.py +0 -0
  63. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/push.py +0 -0
  64. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/resource.py +0 -0
  65. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/resource_permission.py +0 -0
  66. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/resource_version.py +0 -0
  67. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/result.py +0 -0
  68. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/typing.py +0 -0
  69. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/user.py +0 -0
  70. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/utils/__init__.py +0 -0
  71. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/utils/job_url.py +0 -0
  72. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/utils/multinode.py +0 -0
  73. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_runtime/runtime.py +0 -0
  74. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_session/session.py +0 -0
  75. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/api/__init__.py +0 -0
  76. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/api/client.py +0 -0
  77. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/app/__init__.py +0 -0
  78. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/app/app.py +0 -0
  79. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/app/search_apps.py +0 -0
  80. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/__init__.py +0 -0
  81. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/api_client.py +0 -0
  82. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/app_types.py +0 -0
  83. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/auth.py +0 -0
  84. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/biolib_app_api.py +0 -0
  85. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/biolib_job_api.py +0 -0
  86. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/common_types.py +0 -0
  87. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/job_types.py +0 -0
  88. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/lfs_types.py +0 -0
  89. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/user_state.py +0 -0
  90. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/__init__.py +0 -0
  91. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
  92. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/file_in_container.py +0 -0
  93. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/module_input.py +0 -0
  94. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/module_output_v2.py +0 -0
  95. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
  96. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
  97. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/saved_job.py +0 -0
  98. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
  99. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/system_exception.py +0 -0
  100. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/system_status_update.py +0 -0
  101. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/utils.py +0 -0
  102. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_docker_client/__init__.py +0 -0
  103. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_download_container.py +0 -0
  104. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_errors.py +0 -0
  105. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_logging.py +0 -0
  106. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/__init__.py +0 -0
  107. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/auth.py +0 -0
  108. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/data_record.py +0 -0
  109. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/download_container.py +0 -0
  110. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/init.py +0 -0
  111. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/lfs.py +0 -0
  112. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/push.py +0 -0
  113. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/run.py +0 -0
  114. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/runtime.py +0 -0
  115. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/sdk.py +0 -0
  116. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/start.py +0 -0
  117. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/.gitignore +0 -0
  118. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/__init__.py +0 -0
  119. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/cloud_utils/__init__.py +0 -0
  120. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
  121. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/__init__.py +0 -0
  122. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/cache_state.py +0 -0
  123. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/cache_types.py +0 -0
  124. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
  125. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
  126. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
  127. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
  128. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
  129. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/types.py +0 -0
  130. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
  131. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
  132. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_storage.py +0 -0
  133. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_worker.py +0 -0
  134. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/large_file_system.py +0 -0
  135. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/mappings.py +0 -0
  136. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
  137. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/utils.py +0 -0
  138. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/remote_host_proxy.py +0 -0
  139. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/socker_listener_thread.py +0 -0
  140. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/socket_sender_thread.py +0 -0
  141. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/utils.py +0 -0
  142. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/__init__.py +0 -0
  143. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/compute_node_results_proxy.py +0 -0
  144. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
  145. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/proxy_utils.py +0 -0
  146. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/webserver.py +0 -0
  147. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/webserver_types.py +0 -0
  148. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/webserver_utils.py +0 -0
  149. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/worker_thread.py +0 -0
  150. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/experiments/__init__.py +0 -0
  151. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/experiments/experiment.py +0 -0
  152. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/__init__.py +0 -0
  153. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/job.py +0 -0
  154. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/job_result.py +0 -0
  155. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/types.py +0 -0
  156. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/py.typed +0 -0
  157. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/runtime/__init__.py +0 -0
  158. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/sdk/__init__.py +0 -0
  159. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/tables.py +0 -0
  160. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/typing_utils.py +0 -0
  161. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/user/__init__.py +0 -0
  162. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/user/sign_in.py +0 -0
  163. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/__init__.py +0 -0
  164. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/app_uri.py +0 -0
  165. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/cache_state.py +0 -0
  166. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/multipart_uploader.py +0 -0
  167. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/seq_util.py +0 -0
  168. {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/zip/remote_zip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pybiolib
3
- Version: 1.2.1337
3
+ Version: 1.2.1352
4
4
  Summary: BioLib Python Client
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -0,0 +1,53 @@
1
+ import { useState, useEffect } from "react";
2
+ import biolib from "./biolib-sdk";
3
+
4
+ export default function App() {
5
+ const [outputFileData, setOutputFileData] = useState<Uint8Array | null>(null);
6
+ const [loading, setLoading] = useState(true);
7
+
8
+ const loadOutputData = async () => {
9
+ setLoading(true);
10
+ try {
11
+ const data = await biolib.getOutputFileData("output.json");
12
+ setOutputFileData(data);
13
+ } catch (error) {
14
+ console.error("Error loading output data:", error);
15
+ setOutputFileData(null);
16
+ } finally {
17
+ setLoading(false);
18
+ }
19
+ };
20
+
21
+ useEffect(() => {
22
+ loadOutputData();
23
+ }, []);
24
+
25
+ return (
26
+ <div className="min-h-screen bg-gray-100 flex items-center justify-center">
27
+ <div className="text-center max-w-2xl mx-auto p-8">
28
+ <h1 className="text-4xl font-bold mb-4">
29
+ Hello, BioLib!
30
+ </h1>
31
+ <p className="text-lg mb-2">
32
+ You have successfully set up your BioLib GUI application.
33
+ </p>
34
+ <p className="italic mb-6">
35
+ This is a simple React template with Tailwind CSS styling.
36
+ </p>
37
+
38
+ <div className="mt-8 p-4 bg-white rounded-lg shadow">
39
+ <h2 className="text-xl font-semibold mb-4">Example: Reading Output Files</h2>
40
+ {loading ? (
41
+ <p className="text-gray-500">Loading output.json...</p>
42
+ ) : outputFileData ? (
43
+ <div className="p-3 bg-gray-50 rounded text-left">
44
+ <pre className="text-sm">{new TextDecoder().decode(outputFileData)}</pre>
45
+ </div>
46
+ ) : (
47
+ <p className="text-red-500">Failed to load output.json</p>
48
+ )}
49
+ </div>
50
+ </div>
51
+ </div>
52
+ );
53
+ }
@@ -0,0 +1,34 @@
1
+ interface IBioLibGlobals {
2
+ getOutputFileData: (path: string) => Promise<Uint8Array>;
3
+ }
4
+
5
+ declare global {
6
+ const biolib: IBioLibGlobals;
7
+ }
8
+
9
+ /* DEV_DATA_INJECTION */
10
+
11
+ const devSdkBioLib: IBioLibGlobals = {
12
+ getOutputFileData: async (path: string): Promise<Uint8Array> => {
13
+ console.log(`[SDK] getOutputFileData called with path: ${path}`);
14
+
15
+ if (typeof DEV_DATA_FILES !== 'undefined' && path in DEV_DATA_FILES) {
16
+ const base64Data = DEV_DATA_FILES[path];
17
+ const binaryString = atob(base64Data);
18
+ const bytes = new Uint8Array(binaryString.length);
19
+ for (let i = 0; i < binaryString.length; i++) {
20
+ bytes[i] = binaryString.charCodeAt(i);
21
+ }
22
+ return bytes;
23
+ }
24
+
25
+ throw new Error(`File not found: ${path}. Add this file to the dev-data/ folder for local development.`);
26
+ },
27
+ };
28
+
29
+ const biolib: IBioLibGlobals =
30
+ process.env.NODE_ENV === "development"
31
+ ? devSdkBioLib
32
+ : (window as any).biolib;
33
+
34
+ export default biolib;
@@ -0,0 +1,7 @@
1
+ {
2
+ "message": "Example JSON data for development",
3
+ "results": [
4
+ { "id": 1, "value": "Sample result 1" },
5
+ { "id": 2, "value": "Sample result 2" }
6
+ ]
7
+ }
@@ -0,0 +1,52 @@
1
+ import { Plugin } from 'vite';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+
5
+ export function devDataPlugin(): Plugin {
6
+ let isDev = false;
7
+
8
+ return {
9
+ name: 'dev-data-plugin',
10
+ configResolved(config) {
11
+ isDev = config.mode === 'development';
12
+ },
13
+ transform(code: string, id: string) {
14
+ if (id.endsWith('biolib-sdk.ts')) {
15
+ let injectedCode: string;
16
+
17
+ if (isDev) {
18
+ const devDataDir = path.join(__dirname, 'dev-data');
19
+ const devDataMap: Record<string, string> = {};
20
+
21
+ if (fs.existsSync(devDataDir)) {
22
+ const files = fs.readdirSync(devDataDir);
23
+ for (const file of files) {
24
+ const filePath = path.join(devDataDir, file);
25
+ if (fs.statSync(filePath).isFile()) {
26
+ const content = fs.readFileSync(filePath);
27
+ const base64Content = content.toString('base64');
28
+ devDataMap[file] = base64Content;
29
+ }
30
+ }
31
+ }
32
+
33
+ const devDataJson = JSON.stringify(devDataMap);
34
+ injectedCode = code.replace(
35
+ '/* DEV_DATA_INJECTION */',
36
+ `const DEV_DATA_FILES: Record<string, string> = ${devDataJson};`
37
+ );
38
+ } else {
39
+ injectedCode = code.replace(
40
+ '/* DEV_DATA_INJECTION */',
41
+ '// Dev data not included in production build'
42
+ );
43
+ }
44
+
45
+ return {
46
+ code: injectedCode,
47
+ map: null
48
+ };
49
+ }
50
+ }
51
+ };
52
+ }
@@ -2,7 +2,8 @@ import { defineConfig } from "vite";
2
2
  import react from "@vitejs/plugin-react";
3
3
  import tailwindcss from "@tailwindcss/vite";
4
4
  import { viteSingleFile } from "vite-plugin-singlefile";
5
+ import { devDataPlugin } from "./vite-plugin-dev-data";
5
6
 
6
7
  export default defineConfig({
7
- plugins: [react(), tailwindcss(), viteSingleFile()],
8
+ plugins: [react(), tailwindcss(), devDataPlugin(), viteSingleFile()],
8
9
  });
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pybiolib"
3
- version = "1.2.1337"
3
+ version = "1.2.1352"
4
4
  description = "BioLib Python Client"
5
5
  readme = "PYPI_README.md"
6
6
  license = "MIT"
@@ -1,17 +0,0 @@
1
- export default function App() {
2
- return (
3
- <div className="min-h-screen bg-gray-100 flex items-center justify-center">
4
- <div className="text-center">
5
- <h1 className="text-4xl font-bold mb-4">
6
- Hello, BioLib!
7
- </h1>
8
- <p className="text-lg mb-2">
9
- You have successfully set up your BioLib GUI application.
10
- </p>
11
- <p className="italic">
12
- This is a simple React template with Tailwind CSS styling.
13
- </p>
14
- </div>
15
- </div>
16
- );
17
- }
File without changes
File without changes
File without changes