PySPI

PySPI: A python analysis framework for INTEGRAL/SPI - Published in JOSS (2022)

https://github.com/bjoernbiltzinger/pyspi

Science Score: 95.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

3ml python spi-data

Scientific Fields

Mathematics Computer Science - 37% confidence
Last synced: 4 months ago · JSON representation

Repository

Pure python tools for interfacing with INTEGRAL SPI data. It also provides a 3ML plugin for performing full forward folding spectral analysis of GRBs. The documentation with a few examples is available at https://pyspi.readthedocs.io/.

Basic Info
  • Host: GitHub
  • Owner: BjoernBiltzinger
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 430 MB
Statistics
  • Stars: 9
  • Watchers: 3
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Topics
3ml python spi-data
Created almost 8 years ago · Last pushed over 2 years ago
Metadata Files
Readme License

README.md

CI tests Docs codecov DOI JOSS

pyspi

alt text

A python analysis framework for INTEGRAL/SPI

PySPI provides a plugin for 3ML for INTEGRAL/SPI data, which allows to analyze GRB data at the moment. In the future we plan to also add support for non transient sources.

Installation

Pip

PySPI can be installed via pip. bash pip install py-spi

Github

To install the latest release from Github run bash git clone https://github.com/BjoernBiltzinger/pyspi.git After that first install the packages from the requirement.txt file with bash cd pyspi pip install -r requirements.txt Now you can install PySPI with bash python setup.py install

Additional Data Files

There are a few large data files for the background model and the response that are not included in the Github repository. To get these data files run and specify the path where this data folder should be stored on your local machine. Here you have to change the /path/to/internal/data with the path you want to use on your local computer. bash wget https://grb.mpe.mpg.de/pyspi_datafolder && unzip pyspi_datafolder mv data /path/to/internal/data && rm -f pyspi_datafolder

Environment Variables

Next you have to set two environment variable. One to define the path to the folder of the external data like the different SPI data files that will be downloaded by PySPI and one to define the path to the internal data folder we downloaded earlier. bash export PYSPI=/path/to/external/datafolder export PYSPI_PACKAGE_DATA=/path/to/internal/data

You should add these two line to your bashrc (or similar) file to automatically set this variable in every new terminal.

Now we are ready to go.

Features

Please have a look at the documentation to check out the features PySPI provides. There is also a full example, how to perform a spectral fit for the data for GRB120711A, as well as how to localize the GRB with PySPI.

Contributing

Contributions to PySPI are always welcome. They can come in the form of:

Issues

Please use the Github issue tracking system for any bugs, for questions, bug reports and or feature requests.

Add to Source Code

To directly contribute to the source code of PySPI, please fork the Github repository, add the changes to one of the branches in your forked repository and then create a pull request to the master of the main repository from this branch. Code contribution is welcome for different topics:

Add Functionality

If PySPI is missing some functionality that you need, you can either create an issue in the Github repository or add it to the code and create a pull request. Always make sure that the old tests do not break and adjust them if needed. Also please add tests and documentation for the new functionality in the pyspi/test folder. This ensures that the functionality will not get broken by future changes to the code and other people will know that this feature exists.

Code Improvement

You can also contribute code improvements, like making calculations faster or improve the style of the code. Please make sure that the results of the software do not change in this case.

Bug Fixes

Fixing bugs that you found or that are mentioned in one of the issues is also a good way to contribute to PySPI. Please also make sure to add tests for your changes to check that the bug is gone and that the bug will not recur in future versions of the code.

Documentation

Additions or examples, tutorials, or better explanations are always welcome. To ensure that the documentation builds with the current version of the software, we are using jupytext to write the documentation in Markdown. These are automatically converted to and executed as jupyter notebooks when changes are pushed to Github.

Testing

If one wants to run the test suite, simply install pytest and pytest-cov, then run

```bash pytest -v

```

in the top level directory.

Owner

  • Name: Björn Biltzinger
  • Login: BjoernBiltzinger
  • Kind: user
  • Location: Munich

PhD Student at MPE in Garching

JOSS Publication

PySPI: A python analysis framework for INTEGRAL/SPI
Published
March 31, 2022
Volume 7, Issue 71, Page 4017
Authors
Björn Biltzinger ORCID
Max Planck Institute for Extraterrestrial Physics, Giessenbachstrasse 1, 85748 Garching, Germany, Technical University of Munich, Boltzmannstrasse 2, 85748 Garching, Germany
J. Michael Burgess ORCID
Max Planck Institute for Extraterrestrial Physics, Giessenbachstrasse 1, 85748 Garching, Germany
Thomas Siegert ORCID
Max Planck Institute for Extraterrestrial Physics, Giessenbachstrasse 1, 85748 Garching, Germany
Editor
Christina Hedges ORCID
Tags
Astronomy Gamma-Ray Bursts INTEGRAL/SPI

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2
  • Pull request event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 580
  • Total Committers: 4
  • Avg Commits per committer: 145.0
  • Development Distribution Score (DDS): 0.197
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Björn Biltzinger b****r@g****e 466
J. Michael Burgess j****s@g****m 107
Bjoern Biltzinger b****g@g****e 6
tsiegert 3****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 8
  • Total pull requests: 20
  • Average time to close issues: 4 days
  • Average time to close pull requests: about 2 months
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.25
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • dfm (6)
  • ghost (1)
  • Tohuvavohu (1)
Pull Request Authors
  • grburgess (9)
  • BjoernBiltzinger (8)
  • dependabot[bot] (2)
  • mpleinti (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (2) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 34 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
  • Total maintainers: 1
pypi.org: py-spi

A python analysis framework for INTEGRAL-SPI

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 34 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 16.8%
Stargazers count: 19.3%
Average: 29.4%
Downloads: 33.6%
Dependent repos count: 67.3%
Maintainers (1)
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • astromodels *
  • astropy *
  • betagen *
  • better_apidoc *
  • class-registry *
  • cython *
  • h5py *
  • interpolation *
  • ipykernel *
  • ipython *
  • ipyvolume *
  • jupyterthemes *
  • matplotlib *
  • nbsphinx *
  • numba *
  • numpy >=1.20
  • pandas *
  • pytest *
  • rtds_action *
  • scipy *
  • speclite *
  • sphinx >=1.4
  • sphinx-autoapi *
  • sphinx-gallery *
  • sphinx_rtd_theme *
  • threeML *
  • tqdm *
.github/workflows/docs.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • dfm/rtds-action v1 composite
  • jakejarvis/wait-action master composite
.github/workflows/paper.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • actions/upload-artifact v2 composite
  • docker://openjournals/paperdraft latest composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/pip_install.yml actions
  • actions/setup-python v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • maxim-lobanov/setup-xcode v1 composite
.github/workflows/publish_pypi.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/setup-python v1 composite
  • codecov/codecov-action v1 composite
  • pypa/gh-action-pypi-publish v1.1.0 composite
ci/environment.yml pypi