Metadata-Version: 2.4
Name: imas-idstools
Version: 2.4.1
Summary: Python based collection of data analysis and visualization tools written in IMAS framework
Author-email: ITER Organization <imas-support@iter.org>
Project-URL: homepage, https://github.com/iterorganization/IDStools
Keywords: IMAS,IDS
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Plugins
Classifier: Environment :: X11 Applications
Classifier: Framework :: Flake8
Classifier: Framework :: IPython
Classifier: Framework :: Matplotlib
Classifier: Framework :: Pytest
Classifier: Framework :: Sphinx
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Unix Shell
Classifier: Topic :: Database
Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System
Classifier: Topic :: System :: Software Distribution
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: cerberus
Requires-Dist: fortranformat
Requires-Dist: imas-python
Requires-Dist: matplotlib
Requires-Dist: netCDF4
Requires-Dist: numpy
Requires-Dist: packaging
Requires-Dist: pandas
Requires-Dist: pyparsing
Requires-Dist: python-dateutil
Requires-Dist: pyyaml
Requires-Dist: rich
Requires-Dist: rich_argparse
Requires-Dist: six
Requires-Dist: tabulate
Provides-Extra: all
Requires-Dist: imas-idstools[docs,test]; extra == "all"
Provides-Extra: docs
Requires-Dist: sphinx<7.0.0,>=6.0.0; extra == "docs"
Requires-Dist: astroid<4; extra == "docs"
Requires-Dist: numpy; extra == "docs"
Requires-Dist: pyparsing; extra == "docs"
Requires-Dist: python-dateutil; extra == "docs"
Requires-Dist: rst2pdf; extra == "docs"
Requires-Dist: sphinx-autoapi; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
Requires-Dist: sphinx-immaterial<0.12,>0.11.0; extra == "docs"
Requires-Dist: sphinx-toolbox; extra == "docs"
Requires-Dist: sphinxcontrib-programoutput; extra == "docs"
Requires-Dist: click; extra == "docs"
Requires-Dist: setuptools-scm; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Dynamic: license-file


# IDStools - IMAS IDS Python Tools

A comprehensive Python toolset for working with IMAS (Integrated Modelling and Analysis Suite) Interface Data Structures (IDS) in fusion research.

## Overview

IDStools provides a collection of command-line utilities and Python libraries for:
- **Database Operations**: List, copy, compare, and manipulate IDS data entries
- **Data Analysis**: Extract, validate, and analyze fusion plasma data
- **Visualization**: Plot equilibrium, profiles, and other physics quantities
- **Format Conversion**: Convert GEQDSK files to IDS equilibrium format

## Key Features

### Database Tools
- `idslist` - List available IDSs and their time slices
- `idscp` - Copy IDSs between data entries
- `idsdiff` - Compare IDSs and highlight differences
- `idsperf` - Profile IDS access performance
- `dblist` - List database entries and pulses

### Analysis Tools
- `eqdsk2ids` - Convert GEQDSK equilibrium files to IDS format
- `idsprint` - Print IDS data values and structures
- `idsresample` - Resample IDS data in time
- `plotequilibrium` - Plot equilibrium data
- `plotkineticprofiles` - Visualize kinetic profiles

### Data Validation
- Built-in COCOS (Coordinate Conventions) validation
- IDS structure and physics consistency checks
- Data quality assessment tools

## Installation

### From PyPI
```bash
pip install imas-idstools
```

### From Source
```bash
git clone https://github.com/iter-organization/IDStools.git
cd IDStools
pip install .
```

## Quick Start

### List IDSs in a pulse
```bash
idslist --uri "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3"
```

### Plot equilibrium
```bash
plotequilibrium --uri "imas:mdsplus?user=public;pulse=134174;run=117;database=ITER;version=3"
```

## Requirements

- Python ≥ 3.8
- IMAS Python Access Layer (`imas-python`)
- NumPy, Matplotlib, Pandas
- Rich (for enhanced terminal output)

## Documentation

Full documentation is available at the project repository. Each tool includes built-in help:
```bash
<tool-name> --help
```

## Contributing

We welcome contributions from the fusion community! Please see `CONTRIBUTING.md` for guidelines.

## License

This project is licensed under the terms specified in `LICENSE.md`.

## Support

For questions and support, contact: imas-support@iter.org
