K2目录查询器
项目描述
# k2catalogue
[](https://travis-ci.org/mindriot101/k2catalogue)[](https://landscape.io/github/mindriot101/k2catalogue/master)[](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()
```
[](https://travis-ci.org/mindriot101/k2catalogue)[](https://landscape.io/github/mindriot101/k2catalogue/master)[](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 查看哈希值)
关闭
k2catalogue-0.5.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bd1938aadae176932a18206d4467253726ec9c299dc3e0570836b33d1755ac73 |
|
MD5 | 03d7c43f137873778f29e4e81184b799 |
|
BLAKE2b-256 | 0a254425899dc184df2df2d4a4ad1b8378010a144b90d70de57dac7545ec5c04 |
关闭
k2catalogue-0.5.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eb59b324358e42b8712bac3f1cc899865c967b424acf268e7aaffda434238882 |
|
MD5 | 08091d52344a381e46d331039d631564 |
|
BLAKE2b-256 | 000fb92f327613efb95912b059455a8a997214813d6aba289f245d080d183844 |