跳转到主要内容

K2目录查询器

项目描述

# k2catalogue
[![构建状态](https://travis-ci.org/mindriot101/k2catalogue.svg)](https://travis-ci.org/mindriot101/k2catalogue)[![代码健康状况](https://landscape.io/github/mindriot101/k2catalogue/master/landscape.svg)](https://landscape.io/github/mindriot101/k2catalogue/master)[![文档状态](https://readthedocs.org/projects/k2catalogue/badge/?version=latest)](https://readthedocs.org/projects/k2catalogue/?badge=latest)


基于IPython控制台的K2提案列表的简单交互式查询API。

## 功能

* 在EPIC对象周围打开simbad搜索
* 获取EPIC对象的提案
* 获取单个提案中的对象
* 获取活动期间观测到的对象
* 访问活动的提案页面
* 查看提案标题和PI
* 查看提案的pdf文件
如果可用,获取EPIC对象的视星等、赤经和赤纬

## 安装

`pip install git+https://github.com/mindriot101/k2catalogue`

### 需求

*所有来自pip*

* requests
* sqlalchemy
* ipython
* vcrpy
* beautifulsoup4

第一次运行可能会失败,出现“table missing”类型的错误。在这种情况下,必须使用 `-s` 标志创建初始数据库:`k2cat-search -s`。这将在当前目录中创建 `database.sqlite`。后续运行不需要 `-s` 标志,除非您想重建数据库。

## 示例

使用 `k2cat-search` 启动解释器并尝试以下操作

```python
# 使用WASP-85 b作为示例获取EPIC ID的对象
e = get_by_epicid(201862715)
打印(e) # => <EPIC: 201862715>

# 在目标周围5弧分的范围内打开simbad页面
e.simbad_query(radius=5.0)
# ... 默认浏览器打开,显示SIMBAD详细信息

# 显示包含该对象的提案
print(e.proposals)
# => [<提案 GO1041_SC: Hellier - "Kepler K2观测...">, <提案 GO1032_SC: Van Grootel - "K2观测S...">, <提案 GO1054_LC: Sanchis-Ojeda - "使用K2来理解...">, <提案 GO1059_LC: Stello - "银河考古...">, <提案 GO1005_LC: Wang - "寻找热...">]

# 让我们看看提案GO1041_SC
p = e.proposals[0] # 这可能对您来说索引不同
print(p) # => <提案 GO1041_SC: Hellier - "Kepler K2观测...">

# 提案pdf在哪里?
print(p.pdf_url) # => http://keplerscience.arc.nasa.gov/K2/docs/Campaigns/C1/GO1041_Hellier.pdf

# 让我们在网页浏览器中打开那个pdf
p.open_proposal()
# ... 默认浏览器打开,显示提案pdf

# 提案pdf存放在哪里?
p.open_proposals_page()
# ... 默认浏览器打开,显示提案列表

# 让我们看看提案的详细信息
print('提案PI: {pi} 和标题: {title}'.format(
pi=p.pi, title=p.title))
# => 提案PI: Hellier 和标题: WASP-85b的热木星Kepler K2观测

# 提案中还有哪些其他对象?
print(p.objects)
# => [<EPIC: 201862715>] 那么只有这一个。

# 该提案(或对象)在哪个活动中?
print('对象活动: {}, 提案活动: {}'.format(e.campaign, p.campaign))
# => 对象活动: <活动: 1>, 提案活动: <活动: 1>

# 关于该对象的星等和坐标呢?
print('WASP-85 b位于此处: {ra} {dec} 星等为 {mag}'.format(
ra=e.ra, dec=e.dec, mag=e.mag))
# => WASP-85 b位于此处: 175.90838 6.563726 星等为 10.247
```

## 高级用法

该包使用SQLAlchemy进行所有数据库交互,`session`对象以及数据库模型`Campaign`、`EPIC`和`Proposal`都可用于用户进行更高级的查询。
例如,上述第一个示例(`get_by_epicid`)可以使用SQLAlchemy API执行

```python
epicid = 201862715
e = session.query(EPIC).filter(EPIC.epic_id == epicid).first()
```

项目详情


下载文件

下载适合您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

k2catalogue-0.5.0.tar.gz (6.9 kB 查看哈希值)

上传时间

构建分布

k2catalogue-0.5.0-py2.py3-none-any.whl (10.8 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者