Metadata-Version: 2.4
Name: artistools
Version: 2025.9.4
Summary: Plotting and analysis tools for the ARTIS 3D radiative transfer code for supernovae and kilonovae.
Author: ARTIS Collaboration
Author-email: "Luke J. Shingles" <luke.shingles@gmail.com>, "Christine E. Collins" <c.collins@gsi.de>, Alexander Holas <alexander.holas@h-its.org>, Fionntan Callan <fcallan02@qub.ac.uk>, Stuart Sim <s.sim@qub.ac.uk>, Joshua Pollin <jpollin02@qub.ac.uk>, Gerrit Leck <g.leck@gsi.de>
License-Expression: MIT
Project-URL: Repository, https://www.github.com/artis-mcrt/artistools
Project-URL: Source, https://www.github.com/artis-mcrt/artistools
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Free Threading
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: argcomplete>=3.6.2
Requires-Dist: extinction>=0.4.7
Requires-Dist: matplotlib>=3.10.1
Requires-Dist: numpy>=2.3.1
Requires-Dist: pandas>=2.2.3
Requires-Dist: polars>=1.32.3
Requires-Dist: pyarrow>=19.0.1
Requires-Dist: pypdf>=5.1.0
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: rich>=13.9.4
Requires-Dist: scipy>=1.16.0
Requires-Dist: tqdm>=4.67.1
Requires-Dist: typing_extensions>=4.14
Requires-Dist: zstandard>=0.23.0; python_version < "3.14"
Provides-Extra: extras
Requires-Dist: astropy>=7.0.1; extra == "extras"
Requires-Dist: george>=0.4.4; extra == "extras"
Requires-Dist: imageio>=2.37.0; extra == "extras"
Requires-Dist: plotly>=6.0.1; extra == "extras"
Requires-Dist: pynonthermal>=2025.4.8; extra == "extras"
Requires-Dist: pyvista>=0.45; extra == "extras"
Requires-Dist: tabulate>=0.9; extra == "extras"
Dynamic: license-file

# artistools

[![DOI](https://zenodo.org/badge/53433932.svg)](https://zenodo.org/badge/latestdoi/53433932)
[![PyPI - Version](https://img.shields.io/pypi/v/artistools)](https://pypi.org/project/artistools)
[![License](https://img.shields.io/github/license/artis-mcrt/artistools)](https://github.com/artis-mcrt/artistools/blob/main/LICENSE)

[![Supported Python versions](https://img.shields.io/pypi/pyversions/artistools)](https://pypi.org/project/artistools/)
[![Installation and pytest](https://github.com/artis-mcrt/artistools/actions/workflows/pytest.yml/badge.svg)](https://github.com/artis-mcrt/artistools/actions/workflows/pytest.yml)
[![codecov](https://codecov.io/gh/artis-mcrt/artistools/branch/main/graph/badge.svg?token=XFlarJqeZd)](https://codecov.io/gh/artis-mcrt/artistools)

Artistools is collection of plotting, analysis, and file format conversion tools for the [ARTIS](https://github.com/artis-mcrt/artis) radiative transfer code.

## Installation
Requires Python >= 3.11

The artistools command be invoked with uvx artistools (after installing [uv](https://docs.astral.sh/uv/getting-started/installation/)).

## Development (editable installation)
For development, you will need [a rust compiler](https://www.rust-lang.org/tools/install) and a clone of the repository:
```sh
git clone https://github.com/artis-mcrt/artistools.git
cd artistools
```

To create a [uv](https://docs.astral.sh/uv/getting-started/installation/) virtual environment with locked dependency versions, run:
```sh
uv sync --extra extras --frozen
uv tool install --editable .[extras]
pre-commit install
```

Alternatively, to avoid uv and install into the system environment with pip:
```sh
pip install --group dev --editable .[extras]
pre-commit install
```

To learn how to enable command-line autocompletions, run:
```sh
artistools completions
```

## Citing artistools

If you artistools for a paper or presentation, please cite it. For details, see [https://zenodo.org/badge/latestdoi/53433932](https://zenodo.org/badge/latestdoi/53433932).

## Usage
Run "artistools" at the command-line to get a full list of subcommands. Some common commands are:
- artistools plotspectra
- artistools plotlightcurve
- artistools plotestimators
- artistools plotnltepops
- artistools describeinputmodel

Use the -h option to get a list of command-line arguments for each subcommand. Most of these commands should be run either within an ARTIS simulation folder or by passing the folder path as the last argument.

## Example output

![Emission plot](https://github.com/artis-mcrt/artistools/raw/main/images/fig-emission.png)
![NLTE plot](https://github.com/artis-mcrt/artistools/raw/main/images/fig-nlte-Ni.png)
![Estimator plot](https://github.com/artis-mcrt/artistools/raw/main/images/fig-estimators.png)

## License
Distributed under the MIT license. See [LICENSE](https://github.com/artis-mcrt/artistools/blob/main/LICENSE.txt) for more information.

[https://github.com/artis-mcrt/artistools](https://github.com/artis-mcrt/artistools)
