跳转到主要内容

批量下载和处理ORCID

项目描述

ORCID Downloader

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

批量下载和处理ORCID

💪 入门

import orcid_downloader

# Takes 10-15 minutes to download
path = orcid_downloader.ensure_summaries()

# Takes a bit more than an hour to parse after downloading was done
records = orcid_downloader.get_records()

处理后的记录分布在 DOI

可以基于名称字段、别名和信用名称字段进行归一化

>>> orcid_downloader.ground_researcher("Charles Hoyt")
[ScoredMatch(Term(charles hoyt,Charles Hoyt,orcid,0000-0003-4423-4370,Charles Tapley Hoyt,synonym,orcid,None,None,None),0.5555555555555556,Match(query=Charles Hoyt,ref=Charles Hoyt,exact=True,space_mismatch=False,dash_mismatches={},cap_combos=[]))]

注意 如果数据已经下载和处理,归一化器预热需要大约5分钟。

🚀 安装

最新版本可以从PyPI安装

pip install orcid_downloader

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

pip install git+https://github.com/cthoyt/orcid_downloader.git

👐 贡献

贡献,无论是提交问题、发起拉取请求还是分支,都备受赞赏。有关参与方式的更多信息,请参阅 CONTRIBUTING.md

👋 著作权归属

⚖️ 许可证

本包中的代码采用MIT许可证授权。

🍪 Cookiecutter

本包使用@audreyfeldroycookiecutter包,通过@cthoytcookiecutter-snekpack模板创建。

🛠️ 开发者指南

请参阅开发者指南

README的最后一部分是关于如果你想通过代码贡献来参与的话。

开发安装

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

git clone git+https://github.com/cthoyt/orcid_downloader.git
cd orcid_downloader
pip install -e .

更新包模板

本项目使用cruft来确保模板(即配置、贡献指南、文档配置)与上游cookiecutter包保持最新。使用以下命令更新:

pip install cruft
cruft update

有关Cruft更新命令的更多信息,请参阅此处

🥼 测试

克隆仓库并使用pip install tox tox-uv安装toxtox-uv后,可以使用以下命令重复运行tests/文件夹中的单元测试:

tox

此外,这些测试在每个提交时都会自动重新运行,在GitHub Action中。

📖 构建文档

可以使用以下命令在本地构建文档:

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

文档会自动安装包以及pyproject.toml中指定的docs额外依赖。可以在其中添加类似texext插件。此外,还需要将它们添加到docs/source/conf.py中的extensions列表。

可以使用ReadTheDocs通过本指南将文档部署到网上。.readthedocs.yml YAML文件包含了您需要的所有配置。您还可以在GitHub上设置持续集成,以检查Sphinx是否可以在隔离环境中构建文档(即使用tox -e docs-test),以及ReadTheDocs是否也能构建它。

配置ReadTheDocs

  1. 使用GitHub账号登录ReadTheDocs,然后在https://readthedocs.org/accounts/login/?next=/dashboard/安装集成。
  2. 通过导航到https://readthedocs.org/dashboard/import并点击您仓库旁边的加号图标来导入您的项目。
  3. 在下一屏中,您可以使用更具风格化的名称(例如,包含空格和首字母大写的名称)重命名仓库。
  4. 点击“下一步”,然后您就可以开始了!

📦 发布版本

配置Zenodo

Zenodo是一个长期存档系统,为您的每个包版本分配DOI。

  1. 通过以下链接使用GitHub登录Zenodo:https://zenodo.org/oauth/login/github/?next=%2F。这会带您到一个列出您所有组织的页面,并要求您批准在GitHub上安装Zenodo应用。点击您想要启用集成的组织旁边的“授权”按钮,然后点击大绿色的“批准”按钮。此步骤只需执行一次。
  2. 导航到https://zenodo.org/account/settings/github/,这里列出了您所有的GitHub仓库(包括您的用户名以及您启用的任何组织)。点击任何相关仓库的开/关切换按钮。当您创建一个新的仓库时,您需要回到这里

完成这些步骤后,您就准备好出发了!在GitHub上创建“发布”后(以下为此步骤),您可以导航到https://zenodo.org/account/settings/github/repository/cthoyt/orcid_downloader来查看发布的DOI以及链接到Zenodo记录。

在Python包索引(PyPI)注册

您只需完成以下步骤一次。

  1. Python包索引(PyPI)注册一个账户
  2. 导航到https://pypi.ac.cn/manage/account并确保您已经验证了您的电子邮件地址。默认情况下可能没有发送验证电子邮件,因此您可能需要点击地址旁边的“选项”下拉菜单,以获取“重新发送验证电子邮件”按钮
  3. 自2023年底以来,PyPI需要双因素认证(请参阅PyPI的这篇博客文章)。这意味着您必须首先发出账户恢复代码,然后设置双因素认证
  4. https://pypi.ac.cn/manage/account/token发出API令牌

配置您的计算机与PyPI的连接

您必须为每台计算机执行以下步骤一次。在您的家目录中创建一个名为.pypirc的文件,并包括以下内容

[distutils]
index-servers =
    pypi
    testpypi

[pypi]
username = __token__
password = <the API token you just got>

# This block is optional in case you want to be able to make test releases to the Test PyPI server
[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = <an API token from test PyPI>

请注意,由于PyPI需要基于令牌的认证,我们使用__token__作为用户,原样使用。如果您已经有了包含[distutils]部分的.pypirc文件,只需确保存在一个index-servers键,并且pypi位于其关联列表中。有关配置.pypirc文件的更多信息,请参阅此处

上传到PyPI

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

tox -e finish

此脚本执行以下操作

  1. 使用Bump2Versionpyproject.tomlCITATION.cffsrc/orcid_downloader/version.pydocs/source/conf.py中的版本号更改为不带-dev后缀
  2. 使用build将代码打包成tar存档和wheel
  3. 使用twine上传到PyPI。
  4. 推送到GitHub。您需要创建一个与版本号提升的提交对应的发布
  5. 将版本提升到下一个修补程序。如果您进行了重大更改并希望通过次要版本提升版本,您可以在之后使用tox -e bumpversion -- minor

在GitHub上发布

  1. 导航到https://github.com/cthoyt/orcid_downloader/releases/new来草拟一个新发布
  2. 点击“选择一个标记”下拉菜单并选择与您刚刚创建的发布对应的标记
  3. 点击“生成发布说明”按钮以获取最近更改的快速概要。根据您的需要进行修改标题和描述
  4. 点击大绿色的“发布发布”按钮

这将触发Zenodo为您发布的发布分配DOI。

项目详细信息


下载文件

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

源代码分发

orcid_downloader-0.0.3.tar.gz (36.9 kB 查看哈希值)

上传时间 源代码

构建分发

orcid_downloader-0.0.3-py3-none-any.whl (33.2 kB 查看哈希值)

上传时间 Python 3

由...