Skip to main content
# frbcatdb
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Build Status](https://travis-ci.org/AA-ALERT/frbcatdb.svg?branch=master)](https://travis-ci.org/AA-ALERT/frbcatdb)[![codecov](https://codecov.io/gh/AA-ALERT/frbcatdb/branch/master/graph/badge.svg)](https://codecov.io/gh/AA-ALERT/frbcatdb)[![Codacy Badge](https://api.codacy.com/project/badge/Grade/de13488f778e4843a8922ee2417a3416)](https://www.codacy.com/app/omrubi/frbcatdb?utm_source=github.com&utm_medium=referral&utm_content=AA-ALERT/frbcatdb&utm_campaign=Badge_Grade)[![Readthedocs badge](https://readthedocs.org/projects/frbcatdb/badge/)](http://frbcatdb.readthedocs.io/en/latest/?badge=latest)[![PyPI version](https://badge.fury.io/py/pyfrbcatdb.svg)](https://badge.fury.io/py/pyfrbcatdb)[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1203579.svg)](https://doi.org/10.5281/zenodo.1203579)

The frbcatdb is a database to store a catalog of Fast Radio Bursts (FRBs).
The DB is intended to contain old FRB events as well as new FRBs detected by the
AA-ALERT FRB detection pipeline from Apertif observations and also possible follow-up observations or others FRBs detected by other telescopes.
The frbcatdb is attached to the VOEvent backbone and uses this infrastructure as its source.

The `db` folder contains scripts to create an empty frbcat DB (`create_db.csh`),
to import it from an existing dump file (`import_db.sh`) and
to dump an existing DB to a dump file (`dump_db.csh`).
It also contains the model (Entity-Relationship diagram) to be opened with mysql-workbench. ![frbcatdb ER diagram](db/relationships.real.compact.png)

The `pyfrbcatdb` is Python package for manipulating the frbcatdb and its linking
with the VOEvent backbone.

# pyfrbcatdb usage
A default configuration file is installed in /etc/pyfrbcatdb/dbase.config. In this file the FRBCat database configuration can be defined. Alternatively, a user may supply their own configuration file with a command line argument of the executable, or define the database configuration via argument switches, or, alternatively via environment variables.

For inserting a VOEvent XML file into the FRBCat database, the decode_VOEvent executable is used:
```
usage: decode_VOEvent [-h] [-c MY_CONFIG] --dbName DBNAME [--dbHost DBHOST]
[--dbPort DBPORT] --dbUser DBUSER
[--dbPassword DBPASSWORD] [--CSV CSV] [--log LOG]
[VOEvent [VOEvent ...]]

Process VOEvent XML file and add it to FRB database Args that start with '--'
(eg. --dbName) can also be set in a config file
(/etc/pyfrbcatdb/dbase.config or specified via -c). Config file syntax
allows: key=value, flag=true, stuff=[a,b,c] (for details, see syntax at
https://goo.gl/R74nmi). If an arg is specified in more than one place, then
commandline values override environment variables which override config file
values which override defaults.

positional arguments:
VOEvent List of VOEvent XML files

optional arguments:
-h, --help show this help message and exit
-c MY_CONFIG, --my-config MY_CONFIG
config file path
--dbName DBNAME name postgres database [env var: dbNameFRBCat]
--dbHost DBHOST name postgres database [env var: dbHostFRBCat]
--dbPort DBPORT name postgres database [env var: dbPortFRBCat]
--dbUser DBUSER user postgres database [env var: dbUserFRBCat]
--dbPassword DBPASSWORD
user postgres database password [env var:
dbPasswordFRBCat]
--CSV CSV CSV filename to dump database to [env var: CSVFRBCat]
--log LOG log file, default=[HOME]/pyfrbcatdb_decode.log
--zenodo ZENODO upload CSV to Zenodo, access token [env var: zenodoFRBCat]
```
For inserting an image into the database, the frbcatdb-image executable is used. Apart from the database configuration, the tool takes two positional arguments. The first is the filename of the image to be added, the second is the 'id' in the 'radio measurement params' table that the image should be connected to:
```
usage: frbcatdb-image [-h] [-c MY_CONFIG] --dbName DBNAME [--dbHost DBHOST]
[--dbPort DBPORT] --dbUser DBUSER
[--dbPassword DBPASSWORD] [--caption CAPTION]
[--title TITLE]
filename rmpid

Create VOEvent XML file from FRB database Args that start with '--' (eg.
--dbName) can also be set in a config file (/data/github/venv-
aa/etc/pyfrbcatdb/dbase.config or specified via -c). Config file syntax
allows: key=value, flag=true, stuff=[a,b,c] (for details, see syntax at
https://goo.gl/R74nmi). If an arg is specified in more than one place, then
commandline values override environment variables which override config file
values which override defaults.

positional arguments:
filename Name of file to fetch from
rmpid rmp_id

optional arguments:
-h, --help show this help message and exit
-c MY_CONFIG, --my-config MY_CONFIG
config file path
--dbName DBNAME name postgres database [env var: dbNameFRBCat]
--dbHost DBHOST name postgres database [env var: dbHostFRBCat]
--dbPort DBPORT name postgres database [env var: dbPortFRBCat]
--dbUser DBUSER user postgres database [env var: dbUserFRBCat]
--dbPassword DBPASSWORD
user postgres database password [env var:
dbPasswordFRBCat]
--caption CAPTION figure caption
--title TITLE figure title
```

For extracting a VOEvent from the FRBCat database, the create_VOEvent executable is used. Note that some features might still be missing for the current release from this utility.
```
usage: create_VOEvent [-h] [-c MY_CONFIG] --dbName DBNAME [--dbHost DBHOST]
[--dbPort DBPORT] --dbUser DBUSER
[--dbPassword DBPASSWORD] [--log LOG]
frb_ids [frb_ids ...]

Create VOEvent XML file from FRB database Args that start with '--' (eg.
--dbName) can also be set in a config file
(/etc/pyfrbcatdb/dbase.config or specified via -c). Config
file syntax allows: key=value, flag=true, stuff=[a,b,c] (for details, see
syntax at https://goo.gl/R74nmi). If an arg is specified in more than one
place, then commandline values override environment variables which override
config file values which override defaults.

positional arguments:
frb_ids List of frbs ids

optional arguments:
-h, --help show this help message and exit
-c MY_CONFIG, --my-config MY_CONFIG
config file path
--dbName DBNAME name postgres database [env var: dbNameFRBCat]
--dbHost DBHOST name postgres database [env var: dbHostFRBCat]
--dbPort DBPORT name postgres database [env var: dbPortFRBCat]
--dbUser DBUSER user postgres database [env var: dbUserFRBCat]
--dbPassword DBPASSWORD
user postgres database password [env var:
dbPasswordFRBCat]
--log LOG log file, default=[HOME]/pyfrbcatdb_create.log
```

Metadata

Release files for pyfrbcatdb 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyfrbcatdb 2.0.0
File Size Uploaded
pyfrbcatdb-2.0.0.tar.gz 27.5 kB Details

Release files / pyfrbcatdb-2.0.0.tar.gz

Download URL pyfrbcatdb-2.0.0.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
39ba9458751e5c4f1bdcd5ed291851b46a014f52e1fc5bff59769ce3219c8688
BLAKE2b-256 checksum
How to use checksums
a2c87c550bd5d8a1a76eab1a746af67f7676257bcd58b99ff2980722b6866b49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.6

Release history Release notifications | RSS feed

This release

2.0.0 This release

1 release file

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page