Metadata-Version: 2.1
Name: yt-idefix
Version: 0.6.8
Summary: An extension module for yt, adding a frontend for Idefix
Home-page: https://github.com/yt-project/yt
Author: C.M.T. Robert
License: GPL-3.0
Project-URL: Homepage, https://yt-project.org/
Project-URL: Documentation, https://yt-project.org/docs/dev/
Project-URL: Source, https://github.com/neutrinoceros/yt_idefix
Project-URL: Tracker, https://github.com/neutrinoceros/yt_idefix/issues
Keywords: astronomy astrophysics visualization amr adaptivemeshrefinement
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Classifier: Framework :: Matplotlib
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: AIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: inifix (<1.0,>=0.8.0)
Requires-Dist: yt[test] (<5.0,>=4.0.1)


# yt_idefix
[![PyPI](https://img.shields.io/pypi/v/yt-idefix.svg?logo=pypi&logoColor=white&label=PyPI)](https://pypi.org/project/yt_idefix/)
[![PyPI](https://img.shields.io/pypi/pyversions/yt-idefix/0.6.0?logo=python&logoColor=white&label=Python)](https://pypi.org/project/yt_idefix/)
[![yt-project](https://img.shields.io/static/v1?label="works%20with"&message="yt"&color="blueviolet")](https://yt-project.org)

<!--- Tests and style --->
[![CI](https://github.com/neutrinoceros/yt_idefix/actions/workflows/ci.yml/badge.svg)](https://github.com/neutrinoceros/yt_idefix/actions/workflows/ci.yml)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/neutrinoceros/yt_idefix/main.svg)](https://results.pre-commit.ci/latest/github/neutrinoceros/yt_idefix/main)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)

A maturing yt frontend for Idefix, packaged as an extension for yt.
This frontend is a candidate for integration in the core yt code base.

## Installation

Make sure you have Python 3.7 or newer, then run
```shell
python3 -m pip install yt_idefix
```
If you don't already have yt it will be installed along.

## Usage

After importing `yt` itself, make sure to activate the extension
```python
import yt
import yt.extensions.idefix
```
Single dump files as well as time series can be loaded directly with `yt.load`, e.g.,
```python
ds = yt.load("dump.0054.dmp")
ts = yt.load("dump.00??.dmp")
```

But vtk files currently require a little additional work
```python
# load a single dataset
from yt_idefix.api import IdefixVtkDataset

ds = IdefixVtkDataset("data.0042.vtk")

# load time series
class IdefixVtkDatasetSeries(yt.DatasetSeries):
    _dataset_cls = IdefixVtkDataset


ts = IdefixVtkDatasetSeries("data.00??.vtk")
```
This is because of a bug that will be fixed in yt's next release, see after.

## Current limitations

As of version 0.5.0 of this project, I/O performances are yet to be optimized
for both dump and vtk files.

As of yt 4.0.1:
- Non-uniform grids (using log spacing) are not supported, which makes this
  frontend of very limited use for Idefix.
- `yt.load()` is not suitable for vtk files because they are considered ambiguous
  since *all* vtk files are (erroneously) recognized as Athena.
  This bug is resolved on yt's dev branch (https://github.com/yt-project/yt/pull/3424)


