gocart

Collect and Convert Multimessenger Skymaps

https://github.com/thespacedoctor/gocart

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Collect and Convert Multimessenger Skymaps

Basic Info
  • Host: GitHub
  • Owner: thespacedoctor
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 33.8 MB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 11
Created almost 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License Citation

README.md

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.
  • works well in conjunction with skyTag.

Installation

The easiest way to install gocart is to use conda:

bash 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:

bash conda upgrade gocart -c conda-forge

It is also possible to install via pip if required:

bash pip install gocart

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

bash 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:

bash 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.

SkyTag

gocart works very well in conjunction with skyTag, a tool to 'annotate' transient sources or galaxies with the percentage credibility region they reside within on a given HealPix sky map.

How to cite gocart

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

bibtex @software{Young_gocart, author = {Young, David R.}, doi = {10.5281/zenodo.7970742}, license = {GPL-3.0-only}, title = {{gocart. A GCN Kafka stream consumer and filter}}, url = {https://zenodo.org/doi/10.5281/zenodo.7970742} }

Owner

  • Name: David Young
  • Login: thespacedoctor
  • Kind: user
  • Location: Belfast, UK
  • Company: Queen's University Belfast

Citation (CITATION.cff)

cff-version: 1.2.0
title: gocart. A GCN Kafka stream consumer and filter
message: If you use this software, please cite it as below.
authors:
- family-names: "Young"
  given-names: "David R."
  orcid: "https://orcid.org/0000-0002-1229-2499"
doi: 10.5281/zenodo.7970742
url: "https://zenodo.org/doi/10.5281/zenodo.7970742"
abstract: gocart is a python package and command-line suite used to consume GCN Kafka streams.
keywords: [astronomy, map]
license: GPL-3.0-only

GitHub Events

Total
Last Year

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 244
  • Total Committers: 1
  • Avg Commits per committer: 244.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Dave d****g@q****k 244
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 22
  • Total pull requests: 4
  • Average time to close issues: 20 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 1.18
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • thespacedoctor (19)
  • genghisken (1)
Pull Request Authors
  • thespacedoctor (4)
Top Labels
Issue Labels
priority: 3 (4) priority: 2 (4) type: enhancement (3) type: feature (3) status: wontfix (2) type: planning (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 84 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 23
  • Total maintainers: 1
pypi.org: gocart

Listen for, collect and convert multimessenger skymaps

  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 84 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 14.4%
Average: 24.2%
Forks count: 30.5%
Dependent repos count: 30.6%
Stargazers count: 39.1%
Maintainers (1)
Last synced: 6 months ago