pybiolib 1.2.1164__tar.gz → 1.2.1168__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.
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/PKG-INFO +1 -1
- pybiolib-1.2.1168/biolib/_session/session.py +42 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/sdk/__init__.py +2 -14
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/pyproject.toml +1 -1
- pybiolib-1.2.1164/biolib/_internal/auth_utils.py +0 -27
- pybiolib-1.2.1164/biolib/_session/session.py +0 -68
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/LICENSE +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/PYPI_README.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_data_record/data_record.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/add_copilot_prompts.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/add_gui_files.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/data_record/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/data_record/data_record.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/data_record/push_data.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/data_record/remote_storage_endpoint.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/errors.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/file_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/fuse_mount/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/fuse_mount/experiment_fuse_mount.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/http_client.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/lfs/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/lfs/cache.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/libs/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/libs/fusepy/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/push_application.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/runtime.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/string_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/instructions/general-app-knowledge.instructions.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/instructions/style-general.instructions.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/instructions/style-python.instructions.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/instructions/style-react-ts.instructions.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_app_inputs.prompt.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_onboard_repo.prompt.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/copilot_template/.github/prompts/biolib_run_apps.prompt.md +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/.yarnrc.yml +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/App.tsx +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/Dockerfile +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/index.css +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/index.html +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/index.tsx +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/package.json +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/tsconfig.json +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/vite.config.mts +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/.biolib/config.yml +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/.github/workflows/biolib.yml +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/.gitignore +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/Dockerfile +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/requirements.txt +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/run.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/run.sh +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/templates.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/tree_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/account.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/account_member.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/app.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/data_record.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/experiment.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/file_node.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/push.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/resource.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/resource_permission.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/resource_version.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/result.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/typing.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/types/user.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/utils/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/utils/multinode.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_runtime/runtime.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/api/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/api/client.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/app/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/app/app.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/app/search_apps.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/api_client.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/app_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/auth.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/biolib_app_api.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/biolib_job_api.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/common_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/job_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/lfs_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_api_client/user_state.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/base_bbf_package.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/file_in_container.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/module_input.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/module_output_v2.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/remote_endpoints.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/remote_stream_seeker.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/saved_job.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/stdout_and_stderr.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/system_exception.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/system_status_update.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_binary_format/utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_docker_client/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_download_container.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_errors.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/biolib_logging.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/auth.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/data_record.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/download_container.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/init.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/lfs.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/push.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/run.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/runtime.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/sdk.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/cli/start.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/.gitignore +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/cloud_utils/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/cloud_utils/cloud_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/cache_state.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/cache_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/docker_image_cache.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/docker_executor.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/docker_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/tars/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/job_legacy_input_wait_timeout_thread.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/job_max_runtime_timer_thread.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/job_storage.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/job_worker.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/large_file_system.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/mappings.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/utilization_reporter_thread.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/remote_host_proxy.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/socker_listener_thread.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/socket_sender_thread.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/compute_node_results_proxy.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/gunicorn_flask_application.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/proxy_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/webserver.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/webserver_types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/webserver_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/worker_thread.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/experiments/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/experiments/experiment.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/jobs/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/jobs/job.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/jobs/job_result.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/jobs/types.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/py.typed +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/runtime/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/tables.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/typing_utils.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/user/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/user/sign_in.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/utils/__init__.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/utils/app_uri.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/utils/cache_state.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/utils/multipart_uploader.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/utils/seq_util.py +0 -0
- {pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/utils/zip/remote_zip.py +0 -0
@@ -0,0 +1,42 @@
|
|
1
|
+
from biolib import utils
|
2
|
+
from biolib._internal.types import Optional
|
3
|
+
from biolib.api.client import ApiClient, ApiClientInitDict
|
4
|
+
from biolib.app import BioLibApp
|
5
|
+
|
6
|
+
|
7
|
+
class Session:
|
8
|
+
def __init__(self, _init_dict: ApiClientInitDict) -> None:
|
9
|
+
self._api = ApiClient(_init_dict=_init_dict)
|
10
|
+
|
11
|
+
@staticmethod
|
12
|
+
def get_session(refresh_token: str, base_url: Optional[str] = None, client_type: Optional[str] = None) -> 'Session':
|
13
|
+
return Session(
|
14
|
+
_init_dict=ApiClientInitDict(
|
15
|
+
refresh_token=refresh_token,
|
16
|
+
base_url=base_url or utils.load_base_url_from_env(),
|
17
|
+
client_type=client_type,
|
18
|
+
)
|
19
|
+
)
|
20
|
+
|
21
|
+
def load(self, uri: str, suppress_version_warning: bool = False) -> BioLibApp:
|
22
|
+
r"""Load a BioLib application by its URI or website URL.
|
23
|
+
|
24
|
+
Args:
|
25
|
+
uri (str): The URI or website URL of the application to load. Can be either:
|
26
|
+
- App URI (e.g., 'biolib/myapp:1.0.0')
|
27
|
+
- Website URL (e.g., 'https://biolib.com/biolib/myapp/')
|
28
|
+
suppress_version_warning (bool): If True, don't print a warning when no version is specified.
|
29
|
+
Defaults to False.
|
30
|
+
|
31
|
+
Returns:
|
32
|
+
BioLibApp: The loaded application object
|
33
|
+
|
34
|
+
Example::
|
35
|
+
|
36
|
+
>>> # Load by URI
|
37
|
+
>>> app = biolib.load('biolib/myapp:1.0.0')
|
38
|
+
>>> # Load by website URL
|
39
|
+
>>> app = biolib.load('https://biolib.com/biolib/myapp/')
|
40
|
+
>>> result = app.cli('--help')
|
41
|
+
"""
|
42
|
+
return BioLibApp(uri=uri, _api_client=self._api, suppress_version_warning=suppress_version_warning)
|
@@ -12,20 +12,8 @@ from biolib.app import BioLibApp as _BioLibApp
|
|
12
12
|
Runtime = _Runtime
|
13
13
|
|
14
14
|
|
15
|
-
def get_session(
|
16
|
-
refresh_token
|
17
|
-
base_url: Optional[str] = None,
|
18
|
-
client_type: Optional[str] = None,
|
19
|
-
username: Optional[str] = None,
|
20
|
-
password: Optional[str] = None,
|
21
|
-
) -> _Session:
|
22
|
-
return _Session.get_session(
|
23
|
-
refresh_token=refresh_token,
|
24
|
-
base_url=base_url,
|
25
|
-
client_type=client_type,
|
26
|
-
username=username,
|
27
|
-
password=password,
|
28
|
-
)
|
15
|
+
def get_session(refresh_token: str, base_url: Optional[str] = None, client_type: Optional[str] = None) -> _Session:
|
16
|
+
return _Session.get_session(refresh_token=refresh_token, base_url=base_url, client_type=client_type)
|
29
17
|
|
30
18
|
|
31
19
|
def push_app_version(uri: str, path: str) -> _BioLibApp:
|
@@ -1,27 +0,0 @@
|
|
1
|
-
from typing import Dict
|
2
|
-
|
3
|
-
from biolib._internal.http_client import HttpClient
|
4
|
-
from biolib.biolib_logging import logger
|
5
|
-
|
6
|
-
|
7
|
-
def exchange_username_password_for_tokens(username: str, password: str, base_url: str) -> Dict[str, str]:
|
8
|
-
try:
|
9
|
-
response = HttpClient.request(
|
10
|
-
method='POST',
|
11
|
-
url=f'{base_url}/api/user/token/',
|
12
|
-
data={'email': username, 'password': password},
|
13
|
-
)
|
14
|
-
except Exception as exception:
|
15
|
-
logger.error('Sign in with username/password failed')
|
16
|
-
raise exception
|
17
|
-
|
18
|
-
try:
|
19
|
-
response_dict = response.json()
|
20
|
-
except Exception as error:
|
21
|
-
logger.error('Could not decode response from server as JSON')
|
22
|
-
raise Exception(response.text) from error
|
23
|
-
|
24
|
-
if 'access' not in response_dict or 'refresh' not in response_dict:
|
25
|
-
raise Exception('Invalid response: missing access or refresh token')
|
26
|
-
|
27
|
-
return {'access': response_dict['access'], 'refresh': response_dict['refresh']}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
from biolib import utils
|
2
|
-
from biolib._internal.types import Optional
|
3
|
-
from biolib.api.client import ApiClient, ApiClientInitDict
|
4
|
-
from biolib._internal.auth_utils import exchange_username_password_for_tokens
|
5
|
-
from biolib.app import BioLibApp
|
6
|
-
|
7
|
-
|
8
|
-
class Session:
|
9
|
-
def __init__(self, _init_dict: ApiClientInitDict) -> None:
|
10
|
-
self._api = ApiClient(_init_dict=_init_dict)
|
11
|
-
|
12
|
-
@staticmethod
|
13
|
-
def get_session(
|
14
|
-
refresh_token: Optional[str] = None,
|
15
|
-
base_url: Optional[str] = None,
|
16
|
-
client_type: Optional[str] = None,
|
17
|
-
username: Optional[str] = None,
|
18
|
-
password: Optional[str] = None
|
19
|
-
) -> 'Session':
|
20
|
-
if refresh_token and (username or password):
|
21
|
-
raise ValueError("Cannot specify both refresh_token and username/password authentication")
|
22
|
-
|
23
|
-
if (username and not password) or (password and not username):
|
24
|
-
raise ValueError("Both username and password must be provided for username/password authentication")
|
25
|
-
|
26
|
-
if not refresh_token and not (username and password):
|
27
|
-
raise ValueError("Must provide either refresh_token or username/password for authentication")
|
28
|
-
|
29
|
-
base_url_resolved = base_url or utils.load_base_url_from_env()
|
30
|
-
|
31
|
-
if username and password:
|
32
|
-
tokens = exchange_username_password_for_tokens(
|
33
|
-
username,
|
34
|
-
password,
|
35
|
-
base_url_resolved,
|
36
|
-
)
|
37
|
-
refresh_token = tokens['refresh']
|
38
|
-
|
39
|
-
init_dict = ApiClientInitDict(
|
40
|
-
refresh_token=str(refresh_token),
|
41
|
-
base_url=base_url_resolved,
|
42
|
-
client_type=client_type,
|
43
|
-
)
|
44
|
-
|
45
|
-
return Session(_init_dict=init_dict)
|
46
|
-
|
47
|
-
def load(self, uri: str, suppress_version_warning: bool = False) -> BioLibApp:
|
48
|
-
r"""Load a BioLib application by its URI or website URL.
|
49
|
-
|
50
|
-
Args:
|
51
|
-
uri (str): The URI or website URL of the application to load. Can be either:
|
52
|
-
- App URI (e.g., 'biolib/myapp:1.0.0')
|
53
|
-
- Website URL (e.g., 'https://biolib.com/biolib/myapp/')
|
54
|
-
suppress_version_warning (bool): If True, don't print a warning when no version is specified.
|
55
|
-
Defaults to False.
|
56
|
-
|
57
|
-
Returns:
|
58
|
-
BioLibApp: The loaded application object
|
59
|
-
|
60
|
-
Example::
|
61
|
-
|
62
|
-
>>> # Load by URI
|
63
|
-
>>> app = biolib.load('biolib/myapp:1.0.0')
|
64
|
-
>>> # Load by website URL
|
65
|
-
>>> app = biolib.load('https://biolib.com/biolib/myapp/')
|
66
|
-
>>> result = app.cli('--help')
|
67
|
-
"""
|
68
|
-
return BioLibApp(uri=uri, _api_client=self._api, suppress_version_warning=suppress_version_warning)
|
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.1164 → pybiolib-1.2.1168}/biolib/_internal/data_record/remote_storage_endpoint.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/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
|
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/package.json
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/tsconfig.json
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/gui_template/vite.config.mts
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/_internal/templates/init_template/.biolib/config.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/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
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/docker_image_cache.py
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/__init__.py
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/docker_executor.py
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/biolib/compute_node/job_worker/executors/docker_types.py
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/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.1164 → pybiolib-1.2.1168}/biolib/compute_node/webserver/compute_node_results_proxy.py
RENAMED
File without changes
|
{pybiolib-1.2.1164 → pybiolib-1.2.1168}/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
|