Metadata-Version: 2.4
Name: pymchelper
Version: 2.9.2
Summary: Python toolkit for SHIELD-HIT12A and FLUKA
Author-email: pymchelper team <leszek.grzanka@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/DataMedSci/pymchelper
Project-URL: Documentation, https://datamedsci.github.io/pymchelper/
Project-URL: Repository, https://github.com/DataMedSci/pymchelper.git
Project-URL: Issues, https://github.com/DataMedSci/pymchelper/issues
Project-URL: Changelog, https://github.com/DataMedSci/pymchelper/releases
Keywords: monte carlo,particle therapy,SHIELD-HIT12A,FLUKA,physics
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Environment :: Console
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: numpy
Provides-Extra: image
Requires-Dist: matplotlib; extra == "image"
Provides-Extra: excel
Requires-Dist: xlwt; extra == "excel"
Provides-Extra: hdf
Requires-Dist: h5py; extra == "hdf"
Provides-Extra: dicom
Requires-Dist: pydicom; extra == "dicom"
Provides-Extra: pytrip
Requires-Dist: pytrip98; extra == "pytrip"
Provides-Extra: full
Requires-Dist: matplotlib; extra == "full"
Requires-Dist: xlwt; extra == "full"
Requires-Dist: h5py; extra == "full"
Requires-Dist: pydicom; extra == "full"
Requires-Dist: pytrip98; extra == "full"
Requires-Dist: hipsterplot; extra == "full"
Requires-Dist: bashplotlib; extra == "full"
Provides-Extra: test
Requires-Dist: pytest==8.4.2; extra == "test"
Requires-Dist: pytest-rerunfailures; extra == "test"
Requires-Dist: flake8==7.3.0; extra == "test"
Requires-Dist: sphinx>=7.0; extra == "test"
Requires-Dist: mcpl==1.6.2; extra == "test"
Requires-Dist: yapf==0.43.0; extra == "test"
Requires-Dist: requests==2.32.5; extra == "test"
Requires-Dist: scipy; extra == "test"
Requires-Dist: pre-commit==3.7.1; python_version < "3.10" and extra == "test"
Requires-Dist: pre-commit==4.5.0; python_version >= "3.10" and extra == "test"
Provides-Extra: dev
Requires-Dist: pymchelper[full,test]; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: docs
Requires-Dist: pymchelper[full]; extra == "docs"
Requires-Dist: sphinx>=7.0; extra == "docs"
Requires-Dist: pydata-sphinx-theme==0.16.0; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"

# pymchelper

Toolkit for working with particle transport codes such as [FLUKA](https://fluka.cern/) and [SHIELD-HIT12A](https://shieldhit.org/). It reads binary outputs and helps you convert, analyze, and visualize results on any platform (Linux, Windows, macOS).

## Key Features

- Convert binary outputs to plots and common formats (CSV, XLS, HDF5, and more) using `convertmc`.
- Speed up simulations by splitting and merging runs with `runmc`.
- Use as a Python library to load results into convenient objects for further analysis.

<p float="left">
  <img src="/docs/default_1d.png" width="30%" />
  <img src="/docs/default_2d.png" width="30%" />
  <!-- Images shown here illustrate typical outputs produced by convertmc -->
</p>

## Quick Examples

Convert multiple SHIELD-HIT12A/FLUKA outputs into images:

```
convertmc image --many "*.bdo"
```

Run a simulation in parallel and export text output:

```
runmc --jobs 16 --out-type txt directory_with_input_files
```

## Installation

Minimal install via pip:

```
pip install pymchelper[full]
```

For detailed installation instructions (Linux packages, optional extras, and platform-specific notes), see the documentation links below.

## Documentation

- Project site: https://datamedsci.github.io/pymchelper/index.html
- Getting Started: https://datamedsci.github.io/pymchelper/getting_started.html
- User’s Guide: https://datamedsci.github.io/pymchelper/user_guide.html
