批量下载和处理ORCID
项目描述
ORCID Downloader
批量下载和处理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()
可以基于名称字段、别名和信用名称字段进行归一化
>>> 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
本包使用@audreyfeldroy的cookiecutter包,通过@cthoyt的cookiecutter-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
安装tox
和tox-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
- 使用GitHub账号登录ReadTheDocs,然后在https://readthedocs.org/accounts/login/?next=/dashboard/安装集成。
- 通过导航到https://readthedocs.org/dashboard/import并点击您仓库旁边的加号图标来导入您的项目。
- 在下一屏中,您可以使用更具风格化的名称(例如,包含空格和首字母大写的名称)重命名仓库。
- 点击“下一步”,然后您就可以开始了!
📦 发布版本
配置Zenodo
Zenodo是一个长期存档系统,为您的每个包版本分配DOI。
- 通过以下链接使用GitHub登录Zenodo:https://zenodo.org/oauth/login/github/?next=%2F。这会带您到一个列出您所有组织的页面,并要求您批准在GitHub上安装Zenodo应用。点击您想要启用集成的组织旁边的“授权”按钮,然后点击大绿色的“批准”按钮。此步骤只需执行一次。
- 导航到https://zenodo.org/account/settings/github/,这里列出了您所有的GitHub仓库(包括您的用户名以及您启用的任何组织)。点击任何相关仓库的开/关切换按钮。当您创建一个新的仓库时,您需要回到这里
完成这些步骤后,您就准备好出发了!在GitHub上创建“发布”后(以下为此步骤),您可以导航到https://zenodo.org/account/settings/github/repository/cthoyt/orcid_downloader来查看发布的DOI以及链接到Zenodo记录。
在Python包索引(PyPI)注册
您只需完成以下步骤一次。
- 在Python包索引(PyPI)注册一个账户
- 导航到https://pypi.ac.cn/manage/account并确保您已经验证了您的电子邮件地址。默认情况下可能没有发送验证电子邮件,因此您可能需要点击地址旁边的“选项”下拉菜单,以获取“重新发送验证电子邮件”按钮
- 自2023年底以来,PyPI需要双因素认证(请参阅PyPI的这篇博客文章)。这意味着您必须首先发出账户恢复代码,然后设置双因素认证
- 从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
安装tox
和tox-uv
后,创建新发布的命令包含在tox.ini
中的finish
环境中。在shell中运行以下命令
tox -e finish
此脚本执行以下操作
- 使用Bump2Version将
pyproject.toml
、CITATION.cff
、src/orcid_downloader/version.py
和docs/source/conf.py
中的版本号更改为不带-dev
后缀 - 使用
build
将代码打包成tar存档和wheel - 使用
twine
上传到PyPI。 - 推送到GitHub。您需要创建一个与版本号提升的提交对应的发布
- 将版本提升到下一个修补程序。如果您进行了重大更改并希望通过次要版本提升版本,您可以在之后使用
tox -e bumpversion -- minor
。
在GitHub上发布
- 导航到https://github.com/cthoyt/orcid_downloader/releases/new来草拟一个新发布
- 点击“选择一个标记”下拉菜单并选择与您刚刚创建的发布对应的标记
- 点击“生成发布说明”按钮以获取最近更改的快速概要。根据您的需要进行修改标题和描述
- 点击大绿色的“发布发布”按钮
这将触发Zenodo为您发布的发布分配DOI。
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
orcid_downloader-0.0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b2e4ba8def7e81ab7b07081d76f7b1e6acb2c41dbbbd34c9669ee21955ce4796 |
|
MD5 | f11ca7086bba2487a014e22e685747ed |
|
BLAKE2b-256 | c23af3113a0145090325d9f974af55f150986d1d4ea6c51125c4db5408c6c533 |
orcid_downloader-0.0.3-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bace5a1ba4fd2ad41ca95ecac9abe4f3299d973c68f65f5922f4e15a0c46a912 |
|
MD5 | 067b460b3a14734da2077c86b099306d |
|
BLAKE2b-256 | 579625e7f60e6e437cf5bd5a65da122d0f1c4d007577d4b0a2f98750dc7bc91b |