添加新NASA / SAO广告的文章到你的BiBoStudioBooDigices(基于A.S.BiBoo.J.S病症等)。
ads2bibdesk的Python项目详细描述
ADS到BIBDESKAPI版本(ADS2IBDesk)
ads2bidbdesk帮助您使用newADS Developer API将nasa/ads上列出的天体物理学文章添加到BibDesk数据库中。
该程序松散地基于j.sick等人的原始ads_bibdesk。 但是,查询是由ads api的python客户机处理的(ads,由a.casey维护)。 过时的代码被替换,取而代之的是具有简化代码结构的新的内置python模块。 已更新MacOS工作流生成过程。 项目打包现在遵循新的pypaguideline。
由于api的使用,ads2bidbdesk要求用户根据nasa/ads的新策略指定一个个人api密钥。 有关如何获取密钥的说明可以在这个正式的github repo:adsabs-dev-api上找到。 简而言之,要访问ADS Developer API,必须做两件事:
- Create an account并登录到最新版本的广告
- 按Customize Settings -> Account Settings -> API Token下的“生成新密钥”按钮
api密钥可以写入ads2bidbdesk首选项文件~/.ads/ads2bibdesk.cfg(请参见template)。 在python/ads包的instruction之后,还可以将密钥保存到~/.ads/dev_key或作为名为ADS_DEV_KEY的环境变量。
快速启动
安装
命令行脚本可以通过以下方式安装:
python setup.py install --user # from a local copy pip install --user ads2bibdesk # or, from PyPI pip install --user -e . # or, "Editable" install
要同时安装MacOS service(workflow),请运行以下选项之一:
python setup.py install --user --service # from a local copy pip install --user --install-option="--service" ads2bibdesk # from PyPI
选项“–service”将把可选的macos工作流文件Add to BibDesk.workflow复制到~/Library/Services/,其中包含特定于您的安装的更新命令行脚本路径。
注意:仅支持python>;=3.7(请参见below)。如果使用选项“–user”进行安装,则必须将用户级bin目录(例如~/Library/Python/3.X/bin)添加到PATH环境变量中,才能启动ads2bidbdesk。
使用量
从广告中添加或更新新文章:
ads2bibdesk "1807.04291" ads2bibdesk "2018ApJ...864L..11X" ads2bibdesk "2013ARA&A..51..105C" ads2bibdesk "10.3847/2041-8213/aaf872"
ads2bbdesk此时接受三种项目标识符
- ADS双码(例如^{TT7}$,^{TT8}$)
- arxiv id(例如0911.4956)。
- doi(例如10.3847/1538-4357/aafd37)
有关ads2bidbdesk命令的完整摘要,请访问:
ads2bibdesk --help
兼容性和依赖性
我只在以下MacOS设置上测试过该程序:
- Mac操作系统(>;=10.14)
- Python(>;=3.7.3)
- 双刃剑(>;=1.7.1)
虽然该程序可能在稍旧的软件版本上运行,但我并不关注向后兼容性。 考虑到Python2.7将在2019年底和Python will not even be shipped with MacOS 10.15 (Catalina) by Apple被弃用(这样用户就可以做任何你想做的事情),这个决定看起来是合适的,并将减少长期所需的维护/开发工作。 在我的工作机器(mojave)上,我默认使用macports的python 3.7:
sudo port install python37 py37-pip py37-ipython sudo port select python python37 sudo port select ipython py37-ipython sudo port select pip pip37
状态
包中已经实现了以下函数:
- 用新的API通过文章标识符查询文章元数据(标题、摘要、BiTeX等)(没有更多的内部ADS/ARXIV HTML解析功能)
- 使用ADS网关链接下载文章PDF
- 使用授权的校园内ssh代理计算机(使用您的公钥)在PayWall日志后面下载PDF文件
- 添加/更新bibdesk数据库并附加下载的pdf(主要是从原始的ads_bibdesk中借用AppleScript方法)
与原始ads_bibdesk相比的其他更改包括:
- 清除依赖项要求(让setup.py进行检查)
- 将过时的python语法/函数/模块替换为更新的语法/函数/模块,例如optparser->;argparser、f-string格式、and使用configParser()
- MacOS Automator工作流运行的是已安装的控制台脚本,而不是嵌入式Python程序
原始ads_bibdesk中一些不太常用的特性已经消失:特别是“摄取”和“预打印更新”模式。 但我计划至少通过扫描/更新与arxiv关联的article_bibcode,添加回“preprint update”选项。我的改进建议可以在here找到。