将新 NASA/SAO ADS 中的文章添加到您的 BibDesk 书目(基于 J. Sick 等人的 ads_bibdesk)。
项目描述
ADS 到 BibDesk API 版本 (ads2bibdesk)
ads2bibdesk使用新的ADS 开发人员 API帮助您将 NASA/ADS 上列出的天体物理学文章添加到您的BibDesk数据库。
该程序大致基于 J. Sick 等人的原始ads_bibdesk。 但是,查询是由 ADS API 的 python 客户端处理的(ads,由 A. Casey 维护)。过时的代码被替换为具有简化代码结构的更新的内置 Python 模块。macOS 工作流程构建过程已更新。项目打包现在遵循新的 PyPA指南。
由于 API 的使用,ads2bibdesk要求用户根据新的 NASA/ADS 政策指定个人 API 密钥。有关如何获取密钥的说明可以在此官方 github 存储库中找到:adsabs-dev-api。简而言之,要获得对 ADS Developer API 的访问权限,必须做两件事:
创建一个帐户并登录到最新版本的 ADS
按下自定义设置 -> 帐户设置 -> API 令牌下的“生成新密钥”按钮
API 密钥可以写入您的ads2bibdesk首选项文件~/.ads/ads2bibdesk.cfg(请参阅模板)。按照 Python/ads 包的说明,还可以将密钥保存到~/.ads/dev_key或作为名为ADS_DEV_KEY的环境变量。
感谢原始ads_bibdesk @jonathansick @RuiPereira @keflavich的最初实施的贡献者。
快速开始
安装
命令行脚本可以通过以下方式安装:
pip install --user git+https://github.com/r-xue/ads2bibdesk.git # from GitHub
pip install --user ads2bibdesk # from PyPI (likely behind the GitHub version)
pip install --user . # from a local copy
要构建 macOS 应用和服务工作流程,您需要进一步运行:
pip install --user -U --no-deps --force-reinstall --install-option="--service" ads2bibdesk # from PyPI
选项“–service”将创建两个文件Add to BibDesk.workflow和Add to BibDesk.app in ~/Downloads/。要安装该服务,请单击添加到 BibDesk.workflow,它将被移动到~/Library/Services/。对于该应用程序,只需将其拖放到任何首选位置即可。
笔记:
用法
从命令行
从 ADS 添加或更新新文章:
ads2bibdesk "1807.04291" ads2bibdesk "2018ApJ...864L..11X" ads2bibdesk "2013ARA&A..51..105C" ads2bibdesk "10.3847/2041-8213/aaf872"
ads2bibdesk 此时接受三种文章标识符
ADS bibcode (例如1998ApJ...500..525S , 2019arXiv190404507R )
arXiv id(例如0911.4956)。
doi (例如10.3847/1538-4357/aafd37 )
ads2bibdesk命令的完整摘要可通过以下方式获得:
ads2bibdesk --help
从 macOS 应用程序
在任何应用程序中将文章标识符复制到剪贴板
启动添加到 BibDesk.app
从 macOS 服务
高亮并右键单击文章标识符
从右键菜单中选择“服务 > 添加到 Bibdesk”
兼容性和依赖性
我只在以下 macOS 设置上测试了该程序:
macOS (>=10.14)
Python (>=3.7.3)
BibDesk (>=1.7.1)
虽然该程序可能适用于稍旧的软件版本,但我并不关注向后兼容性。在我的工作机器(Catalina)上,我将 MacPorts 的 Python 3.8 设置为默认值:
sudo port install python38 py38-pip py38-ipython sudo port select python python38 sudo port select ipython py38-ipython sudo port select pip pip38
地位
包中已经实现了以下功能:
通过文章标识符使用新 API 查询文章元数据(标题、摘要、BibTeX 等)(不再有内部 ADS/arxiv HTML 解析函数)
使用 ADS 网关链接下载文章 PDF
使用授权的校园ssh代理机器(使用您的公钥)下载期刊付费墙后面的 PDF
添加/更新 BibDesk 数据库并附加下载的 PDF(主要从原始ads_bibdesk借用AppleScript方法)
与原始ads_bibdesk 相比的其他更改包括:
清理依赖需求
用较新的替换过时的 Python 语法/函数/模块,例如 optparser->argparser、f-string 格式,并使用 configparser()
macOS Automator 工作流程正在运行已安装的控制台脚本,而不是嵌入式 Python 程序
原始ads_bibdesk中一些较少使用的功能已经消失:特别是“摄取”和“预印本更新”模式。但我计划通过扫描/更新与 arXiv 关联的article_bibcode至少添加“预印本更新”选项。我的改进建议可以在这里找到。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
ads2bibdesk -0.2.dev3.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | b5a169d92137111b8decd066fd945db302336bb633843d32bc79d416db36898a |
|
| MD5 | d21abba8a75decda258f8237885a9390 |
|
| 布莱克2-256 | c5a15fce7fb0f1b9e10662da02dd59705b19aa1a8acb4c6a1db3026d6f3228cf |
ads2bibdesk -0.2.dev3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0e7dc3b6780cade5a2c176b182e5df43b9bef81f856db1e05c54eb33a3bf4e3d |
|
| MD5 | aa470cdfddd6a96f0ad4aa38e4faa8a4 |
|
| 布莱克2-256 | 9a0da19488c68df718e883d04f49dd23c5f71bb0382e3b3d3e6f23daa3d2bd8a |