跳转到主要内容

人类细胞图谱数据存储系统命令行界面

项目描述

已弃用

此存储库已被弃用。有关访问人类细胞图谱数据的更多信息,请参阅 数据浏览器快速入门指南。

HCA CLI

此存储库是一个可pip安装的命令行界面(CLI)和Python库(API),用于与人类细胞图谱(HCA)的数据协调平台(DCP)交互。

目前,hca 包支持与 上传服务数据存储服务(DSS) 交互,以进行上传、下载和数据查询等服务。

HCA CLI 与 Python 3.5+ 兼容(我们不再与 Python 2.7 兼容,我们最后一个兼容的 Python 2.7 版本是 hca==6.4.0)。

安装

pip install hca.

使用方法

readthedocs.io 上的文档

CLI/API 用例示例

要查看您可以使用的所有命令列表,请键入 hca --help

配置管理

HCA CLI 支持从可配置的源数组中摄取配置。每个源都是一个JSON文件。跟随第一个源的配置源使用递归字典合并更新配置。源按以下顺序列出(即按优先级递增的顺序)

  • 站点范围配置源,/etc/hca/config.json

  • 用户配置源,~/.config/hca/config.json

  • 在冒号分隔的变量 HCA_CONFIG_FILE 中列出的任何来源

  • 命令行选项

数组合并运算符:当加载配置源链时,HCA CLI 使用递归字典合并来合并源。另外,当原始配置值是列表时,该软件包支持数组操作符,允许您扩展和修改底层配置中定义的数组。有关这些运算符的列表,请参阅 https://github.com/kislyuk/tweak#array-merge-operators

服务间授权

在 Google 服务凭据与 HCA CLI 进行身份验证之前,必须将其列入白名单。

将环境变量 GOOGLE_APPLICATION_CREDENTIALS 设置为您的 Google 服务凭据文件路径以进行身份验证。

也可以使用: hca dss login

有关服务账户的更多信息,请参阅 Google 服务凭据。使用 Google Cloud IAM 网络控制台 来管理服务账户。

开发

要在 CLI 上进行开发,首先运行 pip install -r requirements-dev.txt。您可以通过在存储库根目录中运行 make install 来安装您在本地修改的 hca 软件包副本。

要使用本地或测试 DSS 的命令行界面,首先运行 hca(如果您想从存储库根目录就地使用软件包,则为 scripts/hca)。这将创建文件 ~/.config/hca/config.json,您可以修改它以更新 DSSClient.swagger_url 的值,使其指向您的 DSS 部署提供的 Swagger 定义 URL。最后,CLI 对 DSS API 强制执行 HTTPS 连接。如果您连接到本地 DSS,请在 dcp-cli/hca/util/__init__.py 中的 SwaggerClient 对象中进行此更改。

scheme = "http"

要使用本地或测试 DSS 的 Python 接口,通过 swagger_url 参数将 Swagger 定义 URL 传递给 DSSClient 构造函数。

client = DSSClient(swagger_url="https://dss.example.com/v1/swagger.json")

您还可以使用 HCA_CONFIG_FILE 环境变量在默认的 config.json 上叠加最小配置文件,例如:

export SWAGGER_URL="https://dss.staging.data.humancellatlas.org/v1/swagger.json"
jq -n .DSSClient.swagger_url=env.SWAGGER_URL > ~/.config/hca/config.staging.json
export HCA_CONFIG_FILE=~/.config/hca/config.staging.json

测试

在运行测试之前,首先运行 hca dss login。这将打开一个浏览器,您可以登录以使用 Google 进行身份验证。使用白名单中的一个电子邮件地址(在 DSS_SUBSCRIPTION_AUTHORIZED_DOMAINS_ARRAY 中,见 此处)。

然后运行 make test

主要 CI 测试是通过 Travis CI 进行的;还有使用 Gitlab Allspark 实例 的附加测试,该实例运行 Windows 的测试。(注意,Allspark 不对公众开放,Human Cell Atlas 项目的成员可以使用与 Github 上的 Human Cell Atlas 组织关联的 Github 账户访问 Allspark 集群。)如果提交可能具有平台依赖性的 PR,请在合并之前确保“Windows 测试”状态已验证。

错误

请在 GitHub 上的 HumanCellAtlas/dcp-cli 存储库中报告错误、问题、功能请求等。

安全策略

请参阅我们的 安全策略

许可证

根据 MIT 许可证 的条款进行许可。

https://img.shields.io/travis/HumanCellAtlas/dcp-cli.svg?branch=master https://codecov.io/github/HumanCellAtlas/dcp-cli/coverage.svg?branch=master https://img.shields.io/pypi/v/hca.svg https://img.shields.io/pypi/l/hca.svg https://readthedocs.org/projects/hca/badge/?version=latest

支持者