Metadata-Version: 2.4
Name: bowshockpy
Version: 1.0.0
Summary: A Python package for generating spectral channel maps of a jet-driven bowshock model
Author-email: Guillermo Blazquez-Calero <gblazquez@iaa.es>
Maintainer-email: Guillermo Blazquez-Calero <gblazquez@iaa.es>
License-Expression: MIT
Project-URL: Homepage, https://github.com/gblazquez/bowshockpy
Project-URL: Documentation, https://bowshockpy.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/gblazquez/bowshockpy
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scipy
Requires-Dist: astropy
Requires-Dist: photutils
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-book-theme; extra == "doc"
Dynamic: license-file

# BowshockPy

_A Python package for generating spectral channel maps of a jet-driven bowshock model_

[![PyPI - Version](https://badge.fury.io/py/bowshockpy.svg)](https://pypi.org/project/bowshockpy/)
[![PyPI - Python Version](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/gblazquez/bowshockpy/main/pyproject.toml)](https://pypi.org/project/bowshockpy/)
[![PyPI license](https://img.shields.io/pypi/l/ansicolortags.svg)](https://github.com/gblazquez/bowshockpy/blob/main/LICENSE)
[![Tests](https://github.com/gblazquez/bowshockpy/actions/workflows/tests.yml/badge.svg)](https://github.com/gblazquez/bowshockpy/actions/workflows/tests.yml)
[![codecov](https://codecov.io/gh/gblazquez/bowshockpy/graph/badge.svg?token=EGA6WEJCYR)](https://codecov.io/gh/gblazquez/bowshockpy)
[![Documentation Status](https://app.readthedocs.org/projects/bowshockpy/badge/?version=latest)](https://bowshockpy.readthedocs.io/en/latest/)

`BowshockPy` is a Python package that generates synthetic spectral cubes, position-velocity diagrams, and moment images for a simple analytical jet-driven bowshock model, using the prescription for protostellar jets presented in [Ostriker et al. (2001)](https://ui.adsabs.harvard.edu/abs/2001ApJ...557..443O/abstract) and [Tabone et al. (2018)](https://ui.adsabs.harvard.edu/abs/2018A%26A...614A.119T/abstract). The software computes column density and is able to calculate the intensities of low-J rotational transitions of a linear molecule such as CO, providing mock observations of the emission that radio interferometers as ALMA are able to detect at millimeter wavelengths.

## Documentation

An extensive documentation on `BowshockPy` can be found [here](https://bowshockpy.readthedocs.io/en/latest/).

## Requirements

`BowshockPy` requires:

- astropy
- matplotlib
- numpy
- photutils
- scipy

It has been tested in python versions 3.9-3.12, but it could work with other versions also.

## Installation

You can install `BowshockPy` from PyPI.

```bash
$ pip install bowshockpy
```

## How to use

There are two different ways to use `BowshockPy`:

1. Run it from the terminal specifying an input file: Use an [example of input file](https://github.com/gblazquez/bowshockpy/tree/main/examples) and modify the input parameters according your scientific goals. Then, run `BowshockPy` in your terminal:

```bash
$ bowshockpy -r inputfile.py
```

2. Import `BowshockPy` package in your Python code: We include an [notebook tutorial](https://github.com/gblazquez/bowshockpy/tree/main/examples/notebook_tutorial.ipynb) that shows how to use the main classes.

See the [documentation](https://bowshockpy.readthedocs.io/en/latest/) for more details on the usage of `BowshockPy`.

## Contributing

If you are interested in contributing, see [contributing](CONTRIBUTING.md)

## License

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

## Citation

```tex
@software{gblazquez2025,
  author    = {Blazquez-Calero, Guillermo AND et al.},
  title     = {{BowshockPy}: A Python package for the generation of synthetic spectral channel maps of a jet-driven
bowshock model},
  year      = {2025},
  version   = {1.0.0},
  url       = {https://github.com/gblazquez/bowshockpy}
}
```
