解析DOI、PubMed标识符、PMC标识符、arXiv标识符等URL
项目描述
citation-url
解析DOI、PubMed标识符、PMC标识符、arXiv标识符等URL
此模块有一个单独的parse()
函数,它接收一个URL并返回一个解析状态(成功、未知或不可调和)、一个前缀和一个标识符。如果状态是未知或不可调和,则前缀将保留为None
,而标识符将与输入匹配
>>> from citation_url import parse, Status
>>> parse("https://joss.theoj.org/papers/10.21105/joss.01708")
(Status.success, 'doi', '10.21105/joss.01708')
>>> parse("http://www.ncbi.nlm.nih.gov/pubmed/34739845")
(Status.success, 'pubmed', '34739845')
>>> parse("https://example.com/true-garbage")
(Status.unknown, None, 'https://example.com/true-garbage')
>>> parse("https://example.com/true-garbage")
(Status.unknown, None, 'https://example.com/true-garbage')
>>> parse("http://msb.embopress.org/content/13/11/954.full.pdf")
(Status.irreconcilable, None, 'http://msb.embopress.org/content/13/11/954.full.pdf')
🕵️ 为什么?
我想能够在Zotero、Mendeley或任何其他现代引用管理器中整理一份论文列表,然后以EndNote格式进行XML导出,提取并规范化electronic-resource-num
、text-urls
和pdf-urls
字段中的混乱内容,然后确保使用Su Lab的Wikidata Integrator在Wikidata上存在相应的条目。
使用以下方法重用此功能:
$ python -m citation_url.endnote --help
🚀 安装
最新版本可以通过 PyPI 安装
$ pip install citation_url
最新代码和数据可以直接从 GitHub 安装
$ pip install git+https://github.com/cthoyt/citation-url.git
👐 贡献
欢迎提交问题、发起合并请求或进行分支操作。有关如何参与的更多信息,请参阅 CONTRIBUTING.md。
👋 属性
⚖️ 许可证
此包中的代码根据 MIT 许可证授权。
🍪 Cookiecutter
此包是用 @audreyfeldroy 的 cookiecutter 包和 @cthoyt 的 cookiecutter-snekpack 模板创建的。
🛠️ 开发者
查看开发者说明
README 的最后一部分是如果您想通过代码贡献来参与其中。
开发安装
要开发模式安装,请使用以下命令
$ git clone git+https://github.com/cthoyt/citation-url.git
$ cd citation-url
$ pip install -e .
🥼 测试
在克隆仓库并使用 pip install tox
安装 tox
后,可以通过以下方式可重复地运行 tests/
文件夹中的单元测试
$ tox
此外,这些测试在每次提交时都会自动重新运行,在 GitHub Action 中。
📖 构建文档
$ tox -e docs
📦 制作发行版
在开发模式下安装包并使用 pip install tox
安装 tox
后,在 tox.ini
中的 finish
环境中包含了制作新发行版的命令。请在 shell 中运行以下命令
$ tox -e finish
此脚本执行以下操作
- 使用 Bump2Version 将
setup.cfg
和src/citation_url/version.py
中的版本号切换到没有-dev
后缀 - 将代码打包成 tar 归档和 wheel 格式
- 使用
twine
上传到 PyPI。请确保已经配置了.pypirc
文件以避免此步骤需要手动输入 - 推送到 GitHub。您需要在版本号提升的提交中进行发行
- 将版本提升到下一个补丁版本。如果您进行了重大更改并希望通过次要版本提升版本,可以在之后使用
tox -e bumpversion minor
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。