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.
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/PKG-INFO +1 -1
- pybiolib-1.2.1352/biolib/_internal/templates/gui_template/App.tsx +53 -0
- pybiolib-1.2.1352/biolib/_internal/templates/gui_template/biolib-sdk.ts +34 -0
- pybiolib-1.2.1352/biolib/_internal/templates/gui_template/dev-data/output.json +7 -0
- pybiolib-1.2.1352/biolib/_internal/templates/gui_template/vite-plugin-dev-data.ts +52 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/vite.config.mts +2 -1
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/pyproject.toml +1 -1
- pybiolib-1.2.1337/biolib/_internal/templates/gui_template/App.tsx +0 -17
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/LICENSE +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/PYPI_README.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_data_record/data_record.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/add_copilot_prompts.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/add_gui_files.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/data_record.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/push_data.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/errors.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/file_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/fuse_mount/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/http_client.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/lfs/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/lfs/cache.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/libs/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/libs/fusepy/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/push_application.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/runtime.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/string_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/general-app-knowledge.instructions.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/style-general.instructions.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/style-python.instructions.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/instructions/style-react-ts.instructions.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_app_inputs.prompt.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_onboard_repo.prompt.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_run_apps.prompt.md +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/.yarnrc.yml +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/Dockerfile +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/index.css +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/index.html +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/index.tsx +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/package.json +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/tsconfig.json +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.biolib/config.yml +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.github/workflows/biolib.yml +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.gitignore +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/Dockerfile +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/requirements.txt +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/run.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/run.sh +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/templates.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/tree_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/account.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/account_member.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/app.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/data_record.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/experiment.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/file_node.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/push.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/resource.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/resource_permission.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/resource_version.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/result.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/typing.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/types/user.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/utils/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/utils/job_url.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/utils/multinode.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_runtime/runtime.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_session/session.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/api/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/api/client.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/app/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/app/app.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/app/search_apps.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/api_client.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/app_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/auth.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/biolib_app_api.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/biolib_job_api.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/common_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/job_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/lfs_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_api_client/user_state.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/file_in_container.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/module_input.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/module_output_v2.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/saved_job.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/system_exception.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/system_status_update.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_binary_format/utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_docker_client/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_download_container.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_errors.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/biolib_logging.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/auth.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/data_record.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/download_container.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/init.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/lfs.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/push.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/run.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/runtime.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/sdk.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/cli/start.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/.gitignore +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/cloud_utils/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/cache_state.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/cache_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_storage.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/job_worker.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/large_file_system.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/mappings.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/remote_host_proxy.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/socker_listener_thread.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/socket_sender_thread.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/compute_node_results_proxy.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/proxy_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/webserver.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/webserver_types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/webserver_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/worker_thread.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/experiments/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/experiments/experiment.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/job.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/job_result.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/jobs/types.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/py.typed +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/runtime/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/sdk/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/tables.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/typing_utils.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/user/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/user/sign_in.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/__init__.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/app_uri.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/cache_state.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/multipart_uploader.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/seq_util.py +0 -0
- {pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/utils/zip/remote_zip.py +0 -0
|
@@ -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,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
|
+
}
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/vite.config.mts
RENAMED
|
@@ -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,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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/data_record/remote_storage_endpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/fuse_mount/experiment_fuse_mount.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/package.json
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/gui_template/tsconfig.json
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/.biolib/config.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/_internal/templates/init_template/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/docker_image_cache.py
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/__init__.py
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/docker_executor.py
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/docker_types.py
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/job_worker/executors/tars/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/compute_node_results_proxy.py
RENAMED
|
File without changes
|
{pybiolib-1.2.1337 → pybiolib-1.2.1352}/biolib/compute_node/webserver/gunicorn_flask_application.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|