添加新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,必须做两件事:

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 serviceworkflow),请运行以下选项之一:

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找到。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从log4j迁移到log4j2时发生java错误   java为什么我不能运行hello swing应用程序?   Java反射:按声明顺序获取字段和方法   java将日期设置为每周的第二天   在Java中使用包装器和随机森林分类器进行特征选择时出现weka错误   oop对随机生成的Java数字有问题   java使用PhoneNumberUtils检查联系人中是否存在号码。比较()   java无法在Tomcat 7(org.apache.catalina.LifecycleeException)上部署YouTrack   java无法添加自定义视图类   java如何从服务器端更改HttpServletRequest中的IP?   java GemFire 8.2.0集群使用缓存中的静态服务器列表。xml   运行google maps API v2约20分钟时出现java JNI错误   java在IntelliJ IDEA中创建一个可执行的jar