astro-geko


Nameastro-geko JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryGeko: the Grism Emission-line Kinematics tOol
upload_time2025-10-10 18:28:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords astronomy jwst grism spectroscopy kinematics bayesian mcmc
VCS
bugtrack_url
requirements corner jax jaxlib numpyro jax-cosmo
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <img src="https://raw.githubusercontent.com/angelicalola-danhaive/geko/main/doc/_static/geko_logo.png" alt="Geko Logo" width="300"/>

  # the **G**rism **E**mission-line **K**inematics t**O**ol

  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
  [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
  [![Tests](https://github.com/angelicalola-danhaive/geko/actions/workflows/tests.yml/badge.svg)](https://github.com/angelicalola-danhaive/geko/actions/workflows/tests.yml)

</div>

## Description

Geko is a Python package for analyzing grism spectroscopy from JWST NIRCam observations. The package uses JAX for accelerated computation and Numpyro for Bayesian inference to recover emission-line kinematics and morphology from 2D slitless spectroscopy spectra.

**Key Features:**
- **JAX-accelerated**: GPU support for fast inference
- **Bayesian inference**: MCMC fitting using Numpyro's No-U-Turn Sampler (NUTS)
- **Flexible configuration**: Easy-to-use configuration system for priors and MCMC parameters
- **Comprehensive visualization**: Diagnostic plots and corner plots for fit results

## Installation

### Using pip (Recommended)

```bash
pip install astro-geko
```

### Using Conda

For a complete environment with all dependencies:

```bash
# Clone the repository
git clone https://github.com/angelicalola-danhaive/geko.git
cd geko

# Create conda environment
conda env create -f environment.yml
conda activate geko_env

# Install geko
pip install astro-geko
```

### Development Installation

If you want to install the development version:

```bash
# Clone the repository
git clone https://github.com/angelicalola-danhaive/geko.git
cd geko

# Install in editable mode
pip install -e .
```

### Requirements

- Python >= 3.8
- JAX/JAXlib (with optional GPU support)
- Numpyro
- Astropy
- Photutils
- PySersic

For GPU acceleration, follow the [JAX installation guide](https://jax.readthedocs.io/en/latest/installation.html) for CUDA support.

## Quick Start

```python
from geko.fitting import run_geko_fit

# Run a fit with minimal configuration
inference_data = run_geko_fit(
    output='my_fit',
    master_cat='path/to/catalog.cat',
    line='Ha',
    parametric=True,
    save_runs_path='./saves/',
    num_chains=2,
    num_warmup=500,
    num_samples=1000,
    source_id=12345,
    field='GOODS-S-FRESCO',
    grism_filter='F444W'
)
```

See the [documentation](https://astro-geko.readthedocs.io) for detailed usage examples and tutorials.

## Citation

If you use Geko in your research, please cite the following [paper](https://arxiv.org/abs/2510.07369):

```bibtex

@article{Danhaive:2025ac,
	author = {{Danhaive}, A. Lola and {Tacchella}, Sandro},
	journal = {arXiv e-prints},
	month = oct,
	pages = {arXiv:2510.07369},
	title = {{Modelling the kinematics and morphology of galaxies in slitless spectroscopy  with _geko_}},
	year = 2025}
```

## Acknowledgements

We acknowledge support from the Royal Society Research Grants (G125142). We thank Amanda Stoffers for creating our beautiful logo. 

This package makes use of:
- [JAX](https://github.com/google/jax) for accelerated numerical computing
- [Numpyro](https://github.com/pyro-ppl/numpyro) for probabilistic programming
- [Astropy](https://www.astropy.org/) for astronomical data handling

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "astro-geko",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "astronomy, jwst, grism, spectroscopy, kinematics, bayesian, mcmc",
    "author": null,
    "author_email": "\"A. Lola Danhaive\" <angelicalola.danhaive@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/16/b9/ad963fe8f5617d5939fc62deb438e5e4f817231e35bb9fea176d06cb0596/astro_geko-1.0.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/angelicalola-danhaive/geko/main/doc/_static/geko_logo.png\" alt=\"Geko Logo\" width=\"300\"/>\n\n  # the **G**rism **E**mission-line **K**inematics t**O**ol\n\n  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n  [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n  [![Tests](https://github.com/angelicalola-danhaive/geko/actions/workflows/tests.yml/badge.svg)](https://github.com/angelicalola-danhaive/geko/actions/workflows/tests.yml)\n\n</div>\n\n## Description\n\nGeko is a Python package for analyzing grism spectroscopy from JWST NIRCam observations. The package uses JAX for accelerated computation and Numpyro for Bayesian inference to recover emission-line kinematics and morphology from 2D slitless spectroscopy spectra.\n\n**Key Features:**\n- **JAX-accelerated**: GPU support for fast inference\n- **Bayesian inference**: MCMC fitting using Numpyro's No-U-Turn Sampler (NUTS)\n- **Flexible configuration**: Easy-to-use configuration system for priors and MCMC parameters\n- **Comprehensive visualization**: Diagnostic plots and corner plots for fit results\n\n## Installation\n\n### Using pip (Recommended)\n\n```bash\npip install astro-geko\n```\n\n### Using Conda\n\nFor a complete environment with all dependencies:\n\n```bash\n# Clone the repository\ngit clone https://github.com/angelicalola-danhaive/geko.git\ncd geko\n\n# Create conda environment\nconda env create -f environment.yml\nconda activate geko_env\n\n# Install geko\npip install astro-geko\n```\n\n### Development Installation\n\nIf you want to install the development version:\n\n```bash\n# Clone the repository\ngit clone https://github.com/angelicalola-danhaive/geko.git\ncd geko\n\n# Install in editable mode\npip install -e .\n```\n\n### Requirements\n\n- Python >= 3.8\n- JAX/JAXlib (with optional GPU support)\n- Numpyro\n- Astropy\n- Photutils\n- PySersic\n\nFor GPU acceleration, follow the [JAX installation guide](https://jax.readthedocs.io/en/latest/installation.html) for CUDA support.\n\n## Quick Start\n\n```python\nfrom geko.fitting import run_geko_fit\n\n# Run a fit with minimal configuration\ninference_data = run_geko_fit(\n    output='my_fit',\n    master_cat='path/to/catalog.cat',\n    line='Ha',\n    parametric=True,\n    save_runs_path='./saves/',\n    num_chains=2,\n    num_warmup=500,\n    num_samples=1000,\n    source_id=12345,\n    field='GOODS-S-FRESCO',\n    grism_filter='F444W'\n)\n```\n\nSee the [documentation](https://astro-geko.readthedocs.io) for detailed usage examples and tutorials.\n\n## Citation\n\nIf you use Geko in your research, please cite the following [paper](https://arxiv.org/abs/2510.07369):\n\n```bibtex\n\n@article{Danhaive:2025ac,\n\tauthor = {{Danhaive}, A. Lola and {Tacchella}, Sandro},\n\tjournal = {arXiv e-prints},\n\tmonth = oct,\n\tpages = {arXiv:2510.07369},\n\ttitle = {{Modelling the kinematics and morphology of galaxies in slitless spectroscopy  with _geko_}},\n\tyear = 2025}\n```\n\n## Acknowledgements\n\nWe acknowledge support from the Royal Society Research Grants (G125142). We thank Amanda Stoffers for creating our beautiful logo. \n\nThis package makes use of:\n- [JAX](https://github.com/google/jax) for accelerated numerical computing\n- [Numpyro](https://github.com/pyro-ppl/numpyro) for probabilistic programming\n- [Astropy](https://www.astropy.org/) for astronomical data handling\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Geko: the Grism Emission-line Kinematics tOol",
    "version": "1.0.0",
    "project_urls": {
        "Documentation": "https://astro-geko.readthedocs.io",
        "Homepage": "https://github.com/angelicalola-danhaive/geko",
        "Repository": "https://github.com/angelicalola-danhaive/geko"
    },
    "split_keywords": [
        "astronomy",
        " jwst",
        " grism",
        " spectroscopy",
        " kinematics",
        " bayesian",
        " mcmc"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eeb392b45b3518a366bdfdbd06b2defb10e7fa16a9c632a6b1e00d1185abfa1a",
                "md5": "4539dbbcf5be4b1213c534a037924c04",
                "sha256": "057802c3e2d8bc8903646bc7d0993a014c998c13f10181474ccb925dcd56d01e"
            },
            "downloads": -1,
            "filename": "astro_geko-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4539dbbcf5be4b1213c534a037924c04",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 63725,
            "upload_time": "2025-10-10T18:28:45",
            "upload_time_iso_8601": "2025-10-10T18:28:45.194061Z",
            "url": "https://files.pythonhosted.org/packages/ee/b3/92b45b3518a366bdfdbd06b2defb10e7fa16a9c632a6b1e00d1185abfa1a/astro_geko-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "16b9ad963fe8f5617d5939fc62deb438e5e4f817231e35bb9fea176d06cb0596",
                "md5": "b858efbf91fea77c7b7f7a2859d0aff3",
                "sha256": "fc33c18c5eb035c25100f8dad346e8b32c0b48ae885fbc8e48e557f1170c71ab"
            },
            "downloads": -1,
            "filename": "astro_geko-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b858efbf91fea77c7b7f7a2859d0aff3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 64962,
            "upload_time": "2025-10-10T18:28:46",
            "upload_time_iso_8601": "2025-10-10T18:28:46.823262Z",
            "url": "https://files.pythonhosted.org/packages/16/b9/ad963fe8f5617d5939fc62deb438e5e4f817231e35bb9fea176d06cb0596/astro_geko-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-10 18:28:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "angelicalola-danhaive",
    "github_project": "geko",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "corner",
            "specs": [
                [
                    "==",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "jax",
            "specs": [
                [
                    "==",
                    "0.6.1"
                ]
            ]
        },
        {
            "name": "jaxlib",
            "specs": [
                [
                    "==",
                    "0.6.1"
                ]
            ]
        },
        {
            "name": "numpyro",
            "specs": [
                [
                    "==",
                    "0.18.0"
                ]
            ]
        },
        {
            "name": "jax-cosmo",
            "specs": [
                [
                    "==",
                    "0.1.0"
                ]
            ]
        }
    ],
    "lcname": "astro-geko"
}
        
Elapsed time: 2.77408s