SkillAgentSearch skills...

Skypatrol

The ASAS-SN Sky Patrol python client

Install / Use

/learn @asas-sn/Skypatrol
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!-- ![ASAS-SN](./imgs/logo.jpg) ![Tests](https://github.com/asas-sn/skypatrol/actions/workflows/tests.yml/badge.svg) --> <p align="center"> <img width="300" src="https://raw.githubusercontent.com/asas-sn/skypatrol/master/imgs/logo.jpg"> <br><br> <a href="https://github.com/asas-sn/skypatrol/actions/workflows/tests.yml"> <img src="https://github.com/asas-sn/skypatrol/actions/workflows/tests.yml/badge.svg" alt="Tests"> </a> <a href="https://asas-sn.github.io/skypatrol/index.html"> <img src="https://github.com/asas-sn/skypatrol/actions/workflows/docs.yml/badge.svg" alt="Docs"> </a> </p>

ASAS-SN SkyPatrol client

The SkyPatrol pyasassn client allows users to query the ASAS-SN input catalog and retrieve light curves from our photometry database. These light curves are regularly updated with continuous photometry run on nightly images. Read the docs here.

Installation

The easiest way to get started is with pip, using Python 3.6+:

python -m pip install skypatrol

To build from source:

git clone https://github.com/asas-sn/skypatrol.git
pip3 install skypatrol/

Getting started

The SkyPatrolClient will automatically ping the server for the most recent catalog data, allowing us to query through different methods.

from pyasassn.client import SkyPatrolClient

client = SkyPatrolClient()
client.catalogs
Table Name: stellar_main
Num Columns: 47

Table Name: master_list
Num Columns: 4

Table Name: comets
Num Columns: 1

Table Name: swift
Num Columns: 56

Table Name: allwiseagn
Num Columns: 15

Table Name: mdwarf
Num Columns: 32

Table Name: milliquas
Num Columns: 21

Table Name: fermi
Num Columns: 67

Table Name: aavsovsx
Num Columns: 28

Table Name: morx
Num Columns: 38

Table Name: chandra
Num Columns: 516

Table Name: asteroids
Num Columns: 1

Main Catalog

The stellar_main catalog contains the bulk of our targets. It was built off of ATLAS REFCAT2 and contains GAIA, TESS, SDSS, and ALLWISE identifiers where available.

client.catalogs.stellar_main.head(15)
<div> <table border="1" class="dataframe"> <font size="1" face="Courier New" > <thead> <tr style="text-align: right;"> <th></th> <th>col_names</th> <th>dtypes</th> </tr> </thead> <tbody> <tr> <th>0</th> <td>asas_sn_id</td> <td>bigint</td> </tr> <tr> <th>1</th> <td>ra_deg</td> <td>double</td> </tr> <tr> <th>2</th> <td>dec_deg</td> <td>double</td> </tr> <tr> <th>3</th> <td>refcat_id</td> <td>bigint</td> </tr> <tr> <th>4</th> <td>gaia_id</td> <td>bigint</td> </tr> <tr> <th>5</th> <td>hip_id</td> <td>string</td> </tr> <tr> <th>6</th> <td>tyc_id</td> <td>string</td> </tr> <tr> <th>7</th> <td>tmass_id</td> <td>string</td> </tr> <tr> <th>8</th> <td>sdss_id</td> <td>string</td> </tr> <tr> <th>9</th> <td>allwise_id</td> <td>string</td> </tr> <tr> <th>10</th> <td>tic_id</td> <td>bigint</td> </tr> <tr> <th>11</th> <td>plx</td> <td>float</td> </tr> <tr> <th>12</th> <td>plx_d</td> <td>float</td> </tr> <tr> <th>13</th> <td>pm_ra</td> <td>float</td> </tr> <tr> <th>14</th> <td>pm_ra_d</td> <td>float</td> </tr> </tbody> </font> </table> </div>

HEASARC Catalogs

The remaining catalogs were sourced from NASA's HEASARC archive. Each of these retains its original columnar data, though we have appended an asas_sn_id for all of them.

client.catalogs.aavsovsx.head(12)
<div> <table border="1" class="dataframe"> <thead> <tr style="text-align: right;"> <th></th> <th>col_names</th> <th>dtypes</th> </tr> </thead> <tbody> <tr> <th>0</th> <td>asas_sn_id</td> <td>bigint</td> </tr> <tr> <th>1</th> <td>ra_deg</td> <td>double</td> </tr> <tr> <th>2</th> <td>dec_deg</td> <td>double</td> </tr> <tr> <th>3</th> <td>source_number</td> <td>bigint</td> </tr> <tr> <th>4</th> <td>name</td> <td>string</td> </tr> <tr> <th>5</th> <td>variability_flag</td> <td>bigint</td> </tr> <tr> <th>6</th> <td>lii</td> <td>double</td> </tr> <tr> <th>7</th> <td>bii</td> <td>double</td> </tr> <tr> <th>8</th> <td>variability_type</td> <td>string</td> </tr> <tr> <th>9</th> <td>max_mag_type</td> <td>double</td> </tr> <tr> <th>10</th> <td>max_mag_limit</td> <td>string</td> </tr> <tr> <th>11</th> <td>max_mag</td> <td>double</td> </tr> </tbody> </table> </div>

The Master List

The master_list contains asas_sn_ids coordinates and catalog sources for all of our targets. All of our catalogs are cross-matched on the master list with a 2-arcsecond cone.

client.catalogs.master_list
<div> <table border="1" class="dataframe"> <thead> <tr style="text-align: right;"> <th></th> <th>col_names</th> <th>dtypes</th> </tr> </thead> <tbody> <tr> <th>0</th> <td>asas_sn_id</td> <td>bigint</td> </tr> <tr> <th>1</th> <td>ra_deg</td> <td>double</td> </tr> <tr> <th>2</th> <td>dec_deg</td> <td>double</td> </tr> <tr> <th>3</th> <td>catalog_sources</td> <td>array&lt;string&gt;</td> </tr> </tbody> </table> </div>

Cone Seach

Lets run a simple cone-search on the master list.

client.cone_search(ra_deg=270, dec_deg=88, radius=4, catalog='master_list')
<div> <table border="1" class="dataframe"> <thead> <tr style="text-align: right;"> <th></th> <th>asas_sn_id</th> <th>ra_deg</th> <th>dec_deg</th> <th>catalog_sources</th> </tr> </thead> <tbody> <tr> <th>0</th> <td>8590494153</td> <td>270.508480</td> <td>84.120395</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>1</th> <td>8590493551</td> <td>257.333476</td> <td>84.119978</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>2</th> <td>8590494160</td> <td>273.628334</td> <td>84.120183</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>3</th> <td>8590494620</td> <td>282.208531</td> <td>84.120019</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>4</th> <td>8590493763</td> <td>257.575614</td> <td>84.119906</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>...</th> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr> <tr> <th>82247</th> <td>317828630672</td> <td>272.518828</td> <td>89.284092</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>82248</th> <td>317828630205</td> <td>0.339976</td> <td>89.284143</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>82249</th> <td>317828630428</td> <td>142.968424</td> <td>89.283984</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>82250</th> <td>317828630825</td> <td>353.474920</td> <td>89.284470</td> <td>[stellar_main, tic]</td> </tr> <tr> <th>82251</th> <td>317828648971</td> <td>71.616242</td> <td>89.752714</td> <td>[stellar_main, tic]</td> </tr> </tbody> </table> <p>82252 rows × 4 columns</p> </div>

Random Curves

For whatever reason, if you are interested in random targets from a given catalog, we can give you those too.

client.random_sample(1000, catalog="aavsovsx")
<div> <table border="1" class="dataframe"> <thead> <tr style="text-align: right;"> <th></th> <th>asas_sn_id</th> <th>ra_deg</th> <th>dec_deg</th> <th>name</th> </tr> </thead> <tbody> <tr> <th>0</th> <td>661427528626</td> <td>11.36008</td> <td>-88.53342</td> <td>MASTER OT J004526.42-883200.3</td> </tr> <tr> <th>1</th> <td>17181143984</td> <td>113.42148</td> <td>-87.67768</td> <td>WISE J073341.1-874039</td> </tr> <tr> <th>2</th> <td>17181129184</td> <td>276.53493</td> <td>-86.82375</td> <td>ASASSN-V J182608.32-864925.1</td> </tr> <tr> <th>3</th> <td>661427528887</td> <td>294.50733</td> <td>-86.65919</td> <td>ASASSN-14ft</td> </tr> <tr> <th>4</th> <td>1118197</td> <td>313.27013</td> <td>-85.89292</td> <td>ASASSN-V J205304.83-855334.5</td> </tr> <tr> <th>...</th> <td>...</td> <td>...</td> <td>...</td> <td>...</td> </tr> <tr> <th>995</th> <td>515397078518</td> <td>265.46100</td> <td>-41.78668</td> <td>ASASSN-V J174150.64-414712.0</td> </tr> <tr> <th>996</th> <td>515397087473</td> <td>210.81929</td> <td>-41.72133</td> <td>ASASSN-V J140316.63-414316.8</td> </tr> <tr> <th>997</th> <td>412316933534</td> <td>8.80896</td> <td>-41.72128</td> <td>ASAS J003514-4143.2</td> </tr> <tr> <th>998</th> <td>515397087308</td> <td>210.42030</td> <td>-41.72102</td> <td>SSS_J140141
View on GitHub
GitHub Stars20
CategoryDevelopment
Updated16d ago
Forks6

Languages

Python

Security Score

95/100

Audited on Mar 21, 2026

No findings