starfish

Tools for Flexible Spectroscopic Inference

https://github.com/starfish-develop/starfish

Science Score: 51.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
  • .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    5 of 13 committers (38.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.8%) to scientific vocabulary

Keywords

astronomy astrophysics inference mcmc python spectra starfish

Keywords from Contributors

exoplanets
Last synced: 6 months ago · JSON representation ·

Repository

Tools for Flexible Spectroscopic Inference

Basic Info
Statistics
  • Stars: 74
  • Watchers: 13
  • Forks: 21
  • Open Issues: 30
  • Releases: 8
Topics
astronomy astrophysics inference mcmc python spectra starfish
Created over 12 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Changelog License Citation

README.md

Starfish

Documentation Status Build Status Coverage Status PyPI DOI

Starfish is a set of tools used for spectroscopic inference. We designed the package to robustly determine stellar parameters using high resolution spectral models.

Warning!

There have been major, breaking updates since version 0.2.0, please see this page regarding these changes if you are used to the old version!

Citations

If you use this code or derivative components of this code in your research, please cite our paper as well as the code. See CITATION.bib for a BibTeX formatted reference of this work.

Papers

If you have used Starfish in your work, please let us know and we can add you to this list!

Please bear in mind that this package is under heavy development and features may evolve rapidly. If something doesn't work, please fill an issue on this repository. If you would like to contribute to this project (either with bugfixes, documentation, or new features) please feel free to fork the repository and submit a pull request!

Installation Instructions

Prerequisites

Starfish has several dependencies, however most of them should be satisfied by an up-to-date scientific python installation. We highly recommend using the Anaconda Scientific Python Distribution and updating to Python 3.6 or greater. This code makes no attempt to work on the Python 2.x series, and I doubt it will if you try. This package is tested across Linux, Mac OS X, and Windows.

To make sure you are running the correct version of python, start a python interpreter via the system shell and you should see something similar

$ python
Python 3.6.1 |Anaconda custom (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 

If your shell says Python 2.x, try using the python3 command instead of python.

Installation

For the most current stable release of Starfish, use the releases from PyPI

$ pip install astrostarfish

If you want to be on the most up-to-date version (or a development version), install from source via

$ pip install git+https://github.com/iancze/Starfish.git#egg=astrostarfish

To test that you've properly installed Starfish, try doing the following inside of a Python interpreter session

```python

import Starfish Starfish.version '0.3.0' ```

If you see any errors, then something went wrong--please file an issue.

Now that you've successfully installed the code, please see the documentation on how to begin using Starfish to solve your spectroscopic inference problem.

Contributing

If you are interested in contributing to Starfish, first off, thank you! We appreciate your time and effort into making our project better. To get set up in a development environment, it is highly recommended to develop in a virtual environment. We use pipenv (pending a better PEP 517/518 compliant tool) to manage our environments, to get started clone the repository (and we recommend forking us first)

$ git clone https://github.com/<your_fork>/Starfish.git starfish
$ cd starfish

and then create the virtual environment and install all the packages and developer dependencies from the Pipfile with

$ pipenv install -d

and to enter the virtual environment, simply issue

$ pipenv shell

whenever you're in the starfish folder.

We also enforce the black code style. This tools allows automatically formatting everything for you, which is much easier than caring about it yourself! We have a pre-commit hook that will blacken your code before you commit so you can avoid failing the CI tests because you forgot to format. To use this, just install the hook with

$ pipenv run pre-commit install

From then on, any commits will format your code before succeeding!

Take a look through the issues if you are looking for a place to start improving Starfish!

Tests

We use pytest for testing; within the virtual environment

$ pytest

Note that we use the black code style and our CI testing will check that everything is formatted correctly. To check your code

$ pytest --black

although if you follow the instructions for using pre-commit you should have no issues.

Contributors

See CONTRIBUTORS.md for a full list of contributors.

Owner

  • Name: Starfish-develop
  • Login: Starfish-develop
  • Kind: organization

Citation (CITATION.bib)

@ARTICLE{2015ApJ...812..128C,
        author       = {{Czekala}, Ian and {Andrews}, Sean M. and {Mandel}, Kaisey S. and
                        {Hogg}, David W. and {Green}, Gregory M.},
        title        = "{Constructing a Flexible Likelihood Function for Spectroscopic Inference}",
        journal      = {\apj},
        keywords     = {methods: data analysis, methods: statistical, stars: fundamental parameters, 
                        stars: late-type, stars: statistics, techniques: spectroscopic, Astrophysics 
                        - Solar and Stellar Astrophysics,   Astrophysics - Earth and Planetary 
                        Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
        year         = "2015",
        month        = "Oct",
        volume       = {812},
        number       = {2},
        eid          = {128},
        pages        = {128},
        doi          = {10.1088/0004-637X/812/2/128},
        archivePrefix = {arXiv},
        eprint       = {1412.5177},
        primaryClass = {astro-ph.SR},
        adsurl       = {https://ui.adsabs.harvard.edu/abs/2015ApJ...812..128C},
        adsnote      = {Provided by the SAO/NASA Astrophysics Data System}
}

@misc{ian_czekala_2018_2221006,
    author       = {Ian Czekala and
                    gully and
                    Kevin Gullikson and
                    Sean Andrews and
                    Jason Neal and
                    Miles Lucas and
                    Kevin Hardegree-Ullman and
                    Meredith Rawls and
                    Edward Betts},
    title        = {{iancze/Starfish: ca. Czekala et al. 2015 release 
                    w/ Zenodo}},
    month        = dec,
    year         = 2018,
    doi          = {10.5281/zenodo.2221006},
    url          = {https://doi.org/10.5281/zenodo.2221006}
}

GitHub Events

Total
  • Watch event: 5
  • Fork event: 1
Last Year
  • Watch event: 5
  • Fork event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 1,366
  • Total Committers: 13
  • Avg Commits per committer: 105.077
  • Development Distribution Score (DDS): 0.417
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ian Czekala i****e@g****m 797
Miles Lucas m****s@i****u 384
Miles Lucas m****s@h****u 106
gully i****y@g****m 44
Jason Neal j****l@a****t 10
Sean M. Andrews s****s@c****u 8
kgullikson88 k****n@g****m 8
Sean M. Andrews s****s@a****) 4
Ian Czekala i****a@c****u 1
kevinkhu k****u 1
Meredith Rawls m****s@g****m 1
Edward Betts e****d@4****m 1
Kevin Hardegree-Ullman k****g@r****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 69
  • Total pull requests: 32
  • Average time to close issues: 12 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 19
  • Total pull request authors: 4
  • Average comments per issue: 4.03
  • Average comments per pull request: 1.38
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 1
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
  • gully (15)
  • mileslucas (13)
  • Aseman7 (10)
  • jason-neal (9)
  • iancze (4)
  • zjzhang42 (3)
  • bersavosh (2)
  • cosmocaos (2)
  • AustenWallis (1)
  • thomasgaudin-astro (1)
  • cosmicbabs (1)
  • kevinkhu (1)
  • aishaiyer (1)
  • PierreKervella (1)
  • AngelicaJara (1)
Pull Request Authors
  • mileslucas (21)
  • jason-neal (9)
  • dependabot[bot] (1)
  • zjzhang42 (1)
Top Labels
Issue Labels
enhancement (6) bug (4) doc (2) design (2) good first issue (1) low-priority (1) testing (1) organization (1)
Pull Request Labels
dependencies (1)

Dependencies

Pipfile pypi
  • black * develop
  • coveralls * develop
  • flake8 * develop
  • ipython * develop
  • mypy * develop
  • nbsphinx * develop
  • pre-commit * develop
  • pytest * develop
  • pytest-benchmark * develop
  • pytest-black * develop
  • pytest-cov * develop
  • rope * develop
  • sphinx * develop
  • sphinx-autodoc-typehints * develop
  • sphinx-bootstrap-theme * develop
  • astropy *
  • dataclasses *
  • extinction >=0.4.2
  • flatdict *
  • h5py *
  • nptyping *
  • numpy *
  • scikit-learn *
  • scipy *
  • toml >=0.10.1
  • tqdm *
setup.py pypi
  • astropy >=4,<6
  • dataclasses >=0.6,<0.7
  • extinction ==0.4.
  • flatdict ==4.
  • h5py ==3.
  • nptyping ==1.
  • numpy >=1.16,<2
  • scikit-learn >=0.22,<2
  • scipy >=1.3.0,<2
  • toml >=0.10.1,<0.11
  • tqdm ==4.