跳转到主要内容

FAIRsharing API的客户端

项目描述

FAIRsharing客户端

Tests PyPI PyPI - Python Version PyPI - License Documentation Status Codecov status Cookiecutter template from @cthoyt Code style: black Contributor Covenant

FAIRsharing API的客户端。

💪 开始使用

FAIRsharing是一个关于标准、数据库和政策高质量元数据的注册处。然而,FAIRsharing数据的两个方面使其难以使用

  1. 它受限制的CC-BY-SA 4.0许可证约束(见https://fairsharing.org/licence)。这使得即使部分数据也很难进行重新分发。社区重新使用的更好选项是CC-BY 4.0或理想情况下CC0。但是,请记住,FAIR和Open绝对是不同的
  2. 它不是提供批量下载,而是提供一个需要使用JWT进行身份验证的API。

尽管JWT没有问题,但它需要几个步骤,这对于经验较少的程序员来说在程序访问上并不方便。 fairsharing_client 包提供了一种方法,可以自动从API批量下载所有内容,并以可重复的方式本地存储,这样你就可以编写依赖于FAIRsharing数据的代码,而不必担心如何与其API交互或自行分发其数据。此外,此包对内容进行了一些预处理,使其更有用。

import fairsharing_client as fc

# Download the data and return the path of the YAML file
# This takes about 4 minutes and gets around 4K records.
path = fc.ensure_fairsharing()

# Download the data and open it for use
data = fc.load_fairsharing() 

# Get data for a given record
chebi_record = data["FAIRsharing.62qk8w"]

进行身份验证的方法有几种

  1. 环境变量:设置 FAIRSHARING_LOGINFAIRSHARING_PASSWORD 环境变量
  2. 配置:在 ~/.config/fairshairing.ini 文件中,添加以下配置
    [fairsharing]
    login = cthoyt@gmail.com
    password = ...
    
  3. 关键字参数:将 loginpassword 关键字传递给示例函数中的任何一个。

提醒:此存储库不会重新分发FAIRsharing的数据,它只提供供您自行获取的代码。

🚀 安装

可以从 PyPI 安装最新的版本

$ pip install fairsharing_client

可以直接从GitHub使用以下方法安装最新代码和数据

$ pip install git+https://github.com/cthoyt/fairsharing-client.git

👐 贡献

欢迎贡献,无论是提交问题、提出拉取请求还是分叉,都表示感谢。有关如何参与的更多信息,请参阅 CONTRIBUTING.md

👋 属性

⚖️ 许可证

此包中的代码根据MIT许可证授权。

🍪 Cookiecutter

此包是用@audreyfeldroycookiecutter包以及@cthoytcookiecutter-snekpack模板创建的。

🛠️ 开发者

查看开发者说明

README的最后部分是为如果您想通过代码贡献来参与其中而准备的。

开发安装

要在开发模式下安装,请使用以下命令

$ git clone git+https://github.com/cthoyt/fairsharing-client.git
$ cd fairsharing-client
$ pip install -e .

🥼 测试

在克隆存储库并使用pip install tox安装 tox 后,可以通过以下方式可重复地运行tests/文件夹中的单元测试

$ tox

此外,这些测试会在每次提交时自动通过GitHub Action重新运行。

📖 构建文档

可以使用以下方法在本地构建文档

$ git clone git+https://github.com/cthoyt/fairsharing-client.git
$ cd fairsharing-client
$ tox -e docs
$ open docs/build/html/index.html

文档会自动安装包以及setup.cfg中指定的docs额外选项。可以在此处添加sphinx插件,如texext。此外,还需要将它们添加到docs/source/conf.py中的extensions列表中。

📦 制作发布版

在开发模式下安装包并使用pip install tox安装 tox 后,在tox.ini中的finish环境中包含了创建新版本的命令。在shell中运行以下命令

$ tox -e finish

此脚本执行以下操作

  1. 使用Bump2Versionsetup.cfgsrc/fairsharing_client/version.pydocs/source/conf.py中的版本号更改为不带-dev后缀
  2. 使用build将代码打包成tar存档和wheel格式
  3. 使用twine上传到PyPI。请确保已配置.pypirc文件以避免在此步骤中需要手动输入
  4. 推送到GitHub。您需要创建一个发布版,与版本号提升的提交相对应
  5. 将版本提升到下一个补丁。如果您进行了重大更改并希望通过次要版本提升版本,则可以在之后使用tox -e bumpversion minor

项目详情


下载文件

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

源分发

fairsharing_client-0.1.0.tar.gz (15.7 kB 查看哈希值)

上传时间

构建分发

fairsharing_client-0.1.0-py3-none-any.whl (9.0 kB 查看哈希值)

上传时间 Python 3

支持