用于Wikidata QuickStatements的数据模型和客户端
项目描述
QuickStatements客户端
QuickStatements的QuickStatements数据模型和客户端。
💪 快速入门
以下是如何快速构建一些QuickStatements的方法
import datetime
from quickstatements_client import DateQualifier, EntityQualifier, TextQualifier, EntityLine
subject_qid = "Q47475003" # Charles Tapley Hoyt
subject_orcid = "0000-0003-4423-4370"
reference_url_qualifier = TextQualifier(
predicate="S854", target=f"https://orcid.org/0000-0003-4423-4370"
)
start_date = datetime.datetime(year=2021, day=15, month=2)
start_date_qualifier = DateQualifier.start_time(start_date)
position_held_qualifier = EntityQualifier(predicate="P39", target="Q1706722")
employment_line = EntityLine(
subject=subject_qid,
predicate="P108", # employer
target="Q49121", # Harvard medical school
qualifiers=[reference_url_qualifier, start_date_qualifier, position_held_qualifier],
)
>>> employment_line.get_line()
'Q47475003|P108|Q49121|S854|"https://orcid.org/0000-0003-4423-4370"|P580|+2021-02-15T00:00:00Z/11|P39|Q1706722',
如何将一些QuickStatements发送到API
from quickstatements_client import QuickStatementsClient
lines = [
employment_line,
...
]
client = QuickStatementsClient(token=..., username=...)
res = client.post(lines, batch_name="Test Batch")
# see also res.batch_id
import webbrowser
webbrowser.open_new_tab(res.batch_url)
注意:如果未提供,则使用pystow
自动查找token
和username
。具体来说,使用pystow.get_config("quickstatements", "token")
和pystow.get_config("quickstatements", "username")
。
🚀 安装
最新版本可以通过PyPI安装
$ pip install quickstatements_client
最新代码和数据可以直接从GitHub安装
$ pip install git+https://github.com/cthoyt/quickstatements-client.git
👐 贡献
无论是通过提交问题、提交拉取请求还是进行分叉,贡献都是受欢迎的。有关参与的信息,请参阅CONTRIBUTING.md。
👋 稿件归属
此代码最初是作为对 PyORCIDator 的贡献而编写的。特别感谢 Tiago Lubiana [@lubianat] 和 João Vitor [@jvfe] 在讨论和测试中的帮助。
⚖️ 许可证
本包中的代码采用 MIT 许可证授权。
🍪 Cookiecutter
本包是用 @audreyfeldroy 的 cookiecutter 包以及 @cthoyt 的 cookiecutter-snekpack 模板创建的。
🛠️ 开发者
查看开发者说明
README 的最后一节是为了如果你想通过代码贡献来参与其中。
开发安装
要在开发模式下安装,请使用以下命令
$ git clone git+https://github.com/cthoyt/quickstatements-client.git
$ cd quickstatements-client
$ pip install -e .
🥼 测试
在克隆存储库并使用 pip install tox
安装 tox
之后,可以使用以下命令重复运行 tests/
文件夹中的单元测试
$ tox
此外,这些测试会在每次提交时自动通过 GitHub Action 重新运行。
📖 构建文档
可以使用以下命令在本地构建文档
$ git clone git+https://github.com/cthoyt/quickstatements-client.git
$ cd quickstatements-client
$ tox -e docs
$ open docs/build/html/index.html
文档会自动安装包以及 setup.cfg
中指定的 docs
额外选项。可以在此处添加 texext
等类似 sphinx
插件。此外,还需要将它们添加到 docs/source/conf.py
中的 extensions
列表中。
📦 发布版本
在开发模式下安装包并使用 pip install tox
安装 tox
之后,在 tox.ini
中的 finish
环境中包含了创建新版本的命令。请在 shell 中运行以下命令
$ tox -e finish
此脚本执行以下操作
- 使用 Bump2Version 将
setup.cfg
、src/quickstatements_client/version.py
和docs/source/conf.py
中的版本号切换,不再带有-dev
后缀 - 使用
build
将代码打包成 tar 归档和 wheel 格式 - 使用
twine
上传到 PyPI。请确保有一个配置好的.pypirc
文件,以避免在此步骤中需要手动输入 - 推送到 GitHub。您需要创建一个与版本号升级的提交一起发布的版本。
- 将版本升级到下一个补丁。如果您进行了重大更改并希望通过次要版本号升级,可以在之后使用
tox -e bumpversion -- minor
命令。
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
构建发行版
quickstatements_client-0.0.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c7721e842b40d44dd439a24b22cace9ed75d2372a59674ab00b1032b8f281db |
|
MD5 | e297cf220b4fb4783a5444d5a23a1a52 |
|
BLAKE2b-256 | d3404a68d22e112d64a246ba3f22768c2ba10d0de4646ef9103b3792cbbe4507 |
quickstatements_client-0.0.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c9a0b5b31cf0cc5f81ec24cbec93c09eaa912042993bbbbe66965df5b441d640 |
|
MD5 | 625b5a37fbdd6b7c59988c9850edd91b |
|
BLAKE2b-256 | df9315b16864ce64aff4c5cbeec4355d88de6da8a00a54b39983fe449c7d7937 |