pybioos API 参考文档

模块结构

pybioos/
├── bioos/
│   ├── __init__.py          # 包的主要入口点
│   ├── config.py            # 配置管理
│   ├── errors.py            # 异常定义
│   ├── log.py              # 日志管理
│   ├── resource/           # 资源管理模块
│   │   ├── workflows.py    # 工作流资源
│   │   ├── workspaces.py   # 工作空间资源
│   │   ├── files.py        # 文件资源
│   │   └── data_models.py  # 数据模型资源
│   └── service/            # 服务模块
│       └── BioOsService.py # Bio-OS 服务实现

核心模块

bioos

主要的功能入口点,提供了基础的操作接口。

函数

login(endpoint: str, access_key: str, secret_key: str, region: str = "cn-north-1") -> None

登录到 Bio-OS 平台。

参数:

  • endpoint: Bio-OS 平台的 API 端点

  • access_key: 访问密钥

  • secret_key: 密钥

  • region: 区域,默认为 “cn-north-1”

status() -> LoginInfo

获取当前登录状态。

返回:

  • LoginInfo 对象,包含登录信息

list_workspaces() -> DataFrame

列出所有可访问的工作空间。

返回:

  • 包含工作空间信息的 DataFrame

workspace(id_: str) -> Workspace

获取指定 ID 的工作空间。

参数:

  • id_: 工作空间 ID

返回:

  • Workspace 对象

resource.workflows

工作流资源管理模块。

WorkflowResource
方法

__init__(workspace_id: str) 初始化工作流资源。

参数:

  • workspace_id: 工作空间 ID

import_workflow(source: str, name: str, description: str, language: str = "WDL", tag: str = "", main_workflow_path: str = "", token: str = "") -> dict 导入工作流。

参数:

  • source: 工作流源文件路径或 Git 仓库 URL

  • name: 工作流名称

  • description: 工作流描述

  • language: 工作流语言,默认为 “WDL”

  • tag: Git 标签(可选)

  • main_workflow_path: 主工作流文件路径(可选)

  • token: Git 访问令牌(可选)

返回:

  • 包含导入结果的字典

Workflow
方法

__init__(name: str, workspace_id: str, bucket: str, check: bool = False) 初始化工作流对象。

参数:

  • name: 工作流名称

  • workspace_id: 工作空间 ID

  • bucket: 存储桶名称

  • check: 是否检查工作流存在性

submit(inputs: str, outputs: str, submission_desc: str, call_caching: bool = False) -> List[Run] 提交工作流运行。

参数:

  • inputs: 输入参数 JSON

  • outputs: 输出参数 JSON

  • submission_desc: 提交描述

  • call_caching: 是否启用调用缓存

返回:

  • 运行实例列表

Run
属性
  • status: 运行状态

  • log: 运行日志

  • error: 错误信息

  • outputs: 运行输出

  • duration: 运行时长

  • start_time: 开始时间

  • finish_time: 结束时间

方法

sync() 同步运行状态。

resource.files

文件资源管理模块。

FileResource
方法

list(prefix: str = "") -> DataFrame 列出文件。

参数:

  • prefix: 文件前缀(可选)

返回:

  • 包含文件信息的 DataFrame

upload(source: str, target: str, flatten: bool = False) -> None 上传文件。

参数:

  • source: 源文件路径

  • target: 目标路径

  • flatten: 是否展平目录结构

download(files: List[str], local_path: str, flatten: bool = False) -> None 下载文件。

参数:

  • files: 文件路径列表

  • local_path: 本地保存路径

  • flatten: 是否展平目录结构

s3_urls(key: str) -> List[str] 获取文件的 S3 URL。

参数:

  • key: 文件键名

返回:

  • S3 URL 列表

异常类

ConfigurationError

配置相关错误。

ParameterError

参数验证错误。

NotFoundError

资源未找到错误。

ConflictError

资源冲突错误。

配置

Config

类方法

set_endpoint(endpoint: str) -> None 设置 API 端点。

set_access_key(access_key: str) -> None 设置访问密钥。

set_secret_key(secret_key: str) -> None 设置密钥。

set_region(region: str) -> None 设置区域。

日志

PyLogger

类方法

debug(content: str) -> None 记录调试信息。

info(content: str) -> None 记录普通信息。

warn(content: str) -> None 记录警告信息。

error(content: str) -> None 记录错误信息。