Skip to main content

Listen for, collect and convert multimessenger skymaps

Project description

gocart

gocart is a python package and command-line suite used to consume GCN Kafka streams..

Documentation for gocart is hosted by Read the Docs (development version and main version). The code lives on github. Please report any issues you find here.

Features

  • Listen to GCN Kafka streams (currently LIGO-Virgo-KAGRA only) and write alerts and skymaps to the local filesystem.
  • Ability to 'echo' the Kafka stream by re-listening to the last N days of alerts (provided the alerts are still hosted on the GCN Kafka cluster).
  • Alert content, FITS Header data and some extra value-added event parameters are written to a single machine-readable YAML file.
  • The healpix skymaps are optionally converted to ascii files (one row per healpix pixel) and/or rendered as aitoff plots.
  • Create your own plugin scripts to run whenever an alert is parsed.

Installation

The easiest way to install gocart is to use conda:

conda create -n gocart python=3.9 pip gocart -c conda-forge
conda activate gocart

To upgrade to the latest version of gocart use the command:

conda upgrade gocart -c conda-forge

It is also possible to install via pip if required:

pip install gocart

Or you can clone the github repo and install from a local version of the code:

git clone git@github.com:thespacedoctor/gocart.git
cd gocart
python setup.py install

To check installation was successful run gocart -v. This should return the version number of the install.

Initialising gocart

Before using gocart you need to use the init command to generate a user settings file. Running the following creates a yaml settings file in your home folder under ~/.config/gocart/gocart.yaml:

gocart init

The file is initially populated with gocart's default settings which can be adjusted to your preference.

If at any point the user settings file becomes corrupted or you just want to start afresh, simply trash the gocart.yaml file and rerun gocart init.

GCN Kafka Credentials

When you first come to use gocart, you will need to add a GCN Kafka Client ID and Secret to the gocart.yaml settings file. To get these credentials you will need to signup for a GCN Notices account here.

Once signed in, fill in a suitable name for your new client (any name will do, so gocart is as good a name as any). Fill in the captcha and click 'Create New Credentials'.

In the 'Customize Alerts' section, don't be concerned about what Notice Types to select as these are only used to generate template code in the next section. Not selecting any is fine. Click the 'Generate Code' button. You will now be presented with your newly created client credentials within the body of the code snippet:

Open your gocart settings file at ~/.config/gocart/gocart.yaml and copy and paste these credentials into the appropriate place.

Don't worry about the group_id parameter, it's initially set to XXXX but gocart will replace this with a unique value when it's first run. It is this group_id that allows GCN Kafka to remember which alerts you have or have not heard before. Note the example client above has been deleted, so the credentials quoted here will not work.

You are now ready to start using gocart.

How to cite gocart

If you use gocart in your work, please cite using the following BibTeX entry:

@software{Young_gocart,
author = {Young, David R.},
doi = {10.5281/zenodo.7970743},
license = {GPL-3.0-only},
title = {{gocart}},
url = {https://github.com/thespacedoctor/gocart}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gocart-0.4.2.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

gocart-0.4.2-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file gocart-0.4.2.tar.gz.

File metadata

  • Download URL: gocart-0.4.2.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.13.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.8.16

File hashes

Hashes for gocart-0.4.2.tar.gz
Algorithm Hash digest
SHA256 d088813252b0592eeef18cc8f76efe3444ba5f7feb9d62b83c977f27c6767bb4
MD5 25c2803871647355d380b532ba1e45d5
BLAKE2b-256 ae4b34d75199a23741d5e48b8b70dd9221e604885744ad57a7af04b02b67a25d

See more details on using hashes here.

File details

Details for the file gocart-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: gocart-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 47.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.13.0 pkginfo/1.9.6 requests/2.29.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.8.16

File hashes

Hashes for gocart-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 87d0ff097be8e4de2bc7cc5cc9abc2b379ca33c4412e7fc8a8df3b7d2fc39c8a
MD5 dc917d1b7a46e9a593f8f12952d643fa
BLAKE2b-256 63d751c9977b07acc51206ad3f6ef4f3d7041366e701f140fce2a0fbaa3f3dcc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page