格式化学术文本和期刊投稿中的作者列表。
项目描述
🚢 Authorship 🚢
格式化学术文本和期刊投稿中的作者列表。
🕵️ 为什么会有这个存在?
维护协作学术工作中的作者列表有点麻烦。我们中很多人开始使用Google Sheets来收集作者信息,因为它允许人们输入自己的信息,如ORCID和所属机构。我想自动化将那些表格转换为可以复制粘贴到我的论文(例如,在Google Docs或LaTeX中)的某些有用表格以及投稿表格(例如,bioRxiv上的批量作者TSV文件导入)。
💪 开始使用
此示例显示从Google Sheets加载一个标准电子表格,随后以美观的文本格式打印出来,在bioRxiv批量导入格式中,以及用于提交给《自然科学数据》的LaTeX格式。
from authorship.readers import GoogleSheetReader
from authorship.writers import BiorxivWriter, ScientificDataWriter, TextWriter
# Standard google sheet
reader = GoogleSheetReader("1Fo1YH3ZzOVrQ4wzKnBm6sPha5hZG66-u-uSMDGUvguI")
TextWriter().print(reader)
BiorxivWriter().print(reader)
ScientificDataWriter().print(reader)
可以使用 class-resolver
包作为快捷方式,根据名称访问编写者。它很智能,可以识别大小写、间距和标点符号,因此您无需担心那么多导入。以下示例与上一个示例执行相同的操作。
from authorship.readers import GoogleSheetReader
reader = GoogleSheetReader("1Fo1YH3ZzOVrQ4wzKnBm6sPha5hZG66-u-uSMDGUvguI")
reader.print("text")
reader.print("biorxiv", file="~/Desktop/bioregistry_authors_biorxiv.tsv")
reader.print("scientific data")
reader.print("citation cff")
下一个示例显示了从 Google Sheets 加载 OBO 社区风格的电子表格。这已被用于 SSSOM、ODK、细胞本体和几篇其他论文。
from authorship.readers import OboGoogleSheetReader
# OBO community-flavored google sheet
reader = OboGoogleSheetReader(
"1NfhibWHOKgV2glmgRdKMzHEzTCw2_dUq_t0Zq64cgeQ",
skiprows=1,
)
reader.print("text")
reader.print("biorxiv", file="~/Desktop/sssom_authors_biorxiv.tsv")
reader.print("scientific data")
🐇 扩展
您可以通过继承 authorship.readers.Reader
类并实现 get_authorship()
函数来自定义自己的读取器子类。
同样,您可以通过继承 authorship.writers.Writer
类并实现 iter_lines()
函数来自定义自己的写入器。
我们很高兴接受新的插件,特别是有助于自动生成各种期刊特定 LaTeX 模板的 LaTeX。
🚀 安装
可以从 PyPI 使用以下命令安装最新版本:
$ pip install authorship
最新代码和数据可以直接从 GitHub 安装:
$ pip install git+https://github.com/cthoyt/authorship.git
👐 贡献
无论您是提交问题、提交拉取请求还是进行分叉,我们都感谢您的贡献。有关参与的更多信息,请参阅 CONTRIBUTING.md。
👋 致谢
⚖️ 许可证
本包中的代码受 MIT 许可证的许可。
🍪 Cookiecutter
此包使用 @audreyfeldroy 的 cookiecutter 包以及 @cthoyt 的 cookiecutter-snekpack 模板创建。
🛠️ 对于开发者
请参阅开发者说明
README 的最后一部分是如果您想通过代码贡献来参与。
开发安装
要在开发模式下安装,请使用以下命令:
$ git clone git+https://github.com/cthoyt/authorship.git
$ cd authorship
$ pip install -e .
🥼 测试
在克隆存储库并使用 pip install tox
安装 tox
后,可以通过以下方式有可重复性地运行 tests/
文件夹中的单元测试:
$ tox
此外,这些测试会随着每个提交在 GitHub Action 中自动重新运行。
📖 构建文档
可以使用以下命令在本地构建文档:
$ git clone git+https://github.com/cthoyt/authorship.git
$ cd authorship
$ 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/authorship/version.py
和docs/source/conf.py
中的版本号切换为不带-dev
后缀。 - 使用
build
将代码打包成 tar 归档和 wheel。 - 使用
twine
上传到 PyPI。请确保已配置.pypirc
文件以避免在此步骤中需要手动输入。 - 推送到 GitHub。您需要创建一个发布版,其提交包含版本号的更改。
- 将版本升级到下一个补丁。如果您进行了重大更改并希望以较小版本号升级版本,您可以在之后使用
tox -e bumpversion minor
。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
authorship-0.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bbdb8f4a4a55ed450cecdff9dca0d39058238d773fd76842be3a5ebc686c76bd |
|
MD5 | 096736b23215c839525e0cd2b675a743 |
|
BLAKE2b-256 | 30930dd04a63334516ce53dca6da40f941f8fdeacf04e646454c8b79baa19c37 |
authorship-0.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 089ce59db77cda54bdf926745753189c33ead99bdb73fcd533022654ada8ffba |
|
MD5 | 00bc77fdab0bef75c42757f2e4ee3f1c |
|
BLAKE2b-256 | 5bf6f6c7ab413a81d5a54f8f8f36e2522e3e71d42b5ddd7d20619547bef84479 |