跳转到主要内容

为知识图谱ETL下载并缓存文件

项目描述

KG-Hub Downloader

| 文档 | 仓库 | PyPI |

概述

这是一个基于配置的文件缓存下载器,最初支持对http请求和Elasticsearch的查询。

安装

KGHub下载器可以通过pip安装

pip install kghub-downloader

配置

下载器需要一个YAML文件,其中包含要下载的目标URL列表以及本地名称以保存这些下载。
例如,请参阅example/download.yaml

可用选项包括

  • *url:下载的URL。目前支持
    • http(s)
    • ftp
      • 带有glob:选项以下载具有特定扩展名的文件(目前仅支持ftp,并且会递归地下载)。
    • Google Cloud Storage (gs://)
    • Google Drive (gdrive://https://drive.google.com/...). 文件必须是公开可访问的。
    • Amazon AWS S3 存储桶 (s3://)
    • GitHub 发布资源 (git://RepositoryOwner/RepositoryName)
  • local_name:本地保存文件的名称
  • tag:用于过滤下载的标签
  • api:用于下载文件的 API。当前支持:elasticsearch
  • elasticsearch 选项
    • query_file:包含要对索引运行的查询的文件
    • index:查询的 elasticsearch 索引

* 备注
Google Cloud Storage URL 需要您按照以下说明设置您的凭证:此处。您必须

将本地文件镜像到 Amazon AWS S3 存储桶需要以下步骤

您还可以使用 {VARIABLE_NAME} 包含任何您设置为环境变量的机密信息,例如 API 密钥

---
- url: "https://example.com/myfancyfile.json?key={YOUR_SECRET}"
  localname: myfancyfile.json

注意:YOUR_SECRET 必须作为一个环境变量,并且在 URL 字符串中确保包含大括号。

用法

下载器可以直接在 Python 中使用,也可以通过命令行使用

在 Python 中

from kghub_downloader.download_utils import download_from_yaml

download_from_yaml(yaml_file="download.yaml", output_dir="data")

命令行

下载 download.yaml 文件中列出的文件

$ downloader [OPTIONS] ARGS
选项
yaml_file download.yaml 文件的路径,将解析以下载内容。
默认为 ./download.yaml
ignore_cache 忽略缓存并下载文件,即使它们存在(默认 False
snippet_only 只下载每个未压缩源的前 5 KB,用于测试和文件检查
tags 仅下载具有此标签的文件
mirror 上传下载文件的远程存储 URL。
支持的存储桶:Google Cloud Storage
参数
output_dir 保存下载文件的路径。

示例

$ downloader --output_dir example_output --tags zfin_gene_to_phenotype example.yaml
$ downloader --output_dir example_output --mirror gs://your-bucket/desired/directory

# Note that if your YAML file is named `download.yaml`,
# the argument can be omitted from the CLI call.
$ downloader --output_dir example_output

开发

安装

git clone https://github.com/monarch-initiative/kghub-downloader.git
cd kghub-downloader
poetry install

运行测试

poetry run pytest

注意:测试需要按照上述说明设置 gcloud 凭证,使用 Monarch github actions 服务帐户。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分发

kghub_downloader-0.3.10.tar.gz (7.6 kB 查看哈希值)

上传

构建分发

kghub_downloader-0.3.10-py3-none-any.whl (8.7 kB 查看哈希值)

上传时间 Python 3

由以下支持