Metadata-Version: 2.4
Name: foamnordic
Version: 1.0.3
Summary: Integrated OpenFOAM coupling and computational modelling framework
Author-email: Hanseul Kang <hanseul.kang@aalto.fi>
License-Expression: MIT
Project-URL: Homepage, https://github.com/PentagonToy/FoamNordic
Project-URL: Documentation, https://github.com/PentagonToy/FoamNordic/tree/main/docs
Project-URL: Changelog, https://github.com/PentagonToy/FoamNordic/blob/main/CHANGELOG.md
Project-URL: Source, https://github.com/PentagonToy/FoamNordic
Project-URL: Issues, https://github.com/PentagonToy/FoamNordic/issues
Requires-Python: <3.13,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: THIRD_PARTY_NOTICES.md
License-File: foamnordic/_vendor/smartsim/LICENSE.md
License-File: foamnordic/_vendor/smartredis/LICENSE.md
License-File: foamnordic/_vendor/redisai/LICENSE
License-File: foamnordic/_vendor/openfoam-smartsim/LICENSE
License-File: foamnordic/_vendor/openfoam-smartsim/NOTICE.md
Requires-Dist: cloudpickle>=3.0
Requires-Dist: joblib>=1.4
Requires-Dist: coloredlogs>=10.0
Requires-Dist: filelock>=3.4.2
Requires-Dist: flax<=0.12.8,>=0.12.1
Requires-Dist: foamlib<2,>=1.7
Requires-Dist: GitPython<=3.1.43
Requires-Dist: equinox<=0.13.8,>=0.13.1
Requires-Dist: jax<=0.11.0,>=0.8.1
Requires-Dist: jax2onnx<0.17,>=0.15.0
Requires-Dist: jinja2>=3.1.2
Requires-Dist: numpy<3.0.0
Requires-Dist: onnx-ir<=1.0.0,>=0.2.1
Requires-Dist: onnx<=1.22.0,>=1.20.1
Requires-Dist: onnxruntime<=1.28.0,>=1.24.1
Requires-Dist: onsaemiro>=1.0.5
Requires-Dist: packaging>=24.0
Requires-Dist: protobuf<6,>=3.20.3
Requires-Dist: psutil>=5.7.2
Requires-Dist: pydantic>2
Requires-Dist: pygithub>=2.3.0
Requires-Dist: PyYAML>=6
Requires-Dist: pyzmq>=25.1.2
Requires-Dist: redis>=4.5
Requires-Dist: scikit-learn<2,>=1.5
Requires-Dist: skl2onnx<2,>=1.17
Requires-Dist: tabulate>=0.8.9
Requires-Dist: tqdm>=4.50.2
Provides-Extra: onnx
Requires-Dist: onnx<=1.22.0,>=1.20.1; extra == "onnx"
Requires-Dist: onnxruntime<=1.28.0,>=1.24.1; extra == "onnx"
Provides-Extra: jax
Requires-Dist: jax<=0.11.0,>=0.8.1; extra == "jax"
Provides-Extra: jax-onnx
Requires-Dist: jax<=0.11.0,>=0.8.1; extra == "jax-onnx"
Requires-Dist: jax2onnx<0.17,>=0.15.0; extra == "jax-onnx"
Requires-Dist: flax<=0.12.8,>=0.12.1; extra == "jax-onnx"
Requires-Dist: equinox<=0.13.8,>=0.13.1; extra == "jax-onnx"
Requires-Dist: onnx-ir<=1.0.0,>=0.2.1; extra == "jax-onnx"
Requires-Dist: onnx<=1.22.0,>=1.20.1; extra == "jax-onnx"
Requires-Dist: onnxruntime<=1.28.0,>=1.24.1; extra == "jax-onnx"
Provides-Extra: sklearn-onnx
Requires-Dist: scikit-learn<2,>=1.5; extra == "sklearn-onnx"
Requires-Dist: skl2onnx<2,>=1.17; extra == "sklearn-onnx"
Requires-Dist: onnx<=1.22.0,>=1.20.1; extra == "sklearn-onnx"
Requires-Dist: onnxruntime<=1.28.0,>=1.24.1; extra == "sklearn-onnx"
Dynamic: license-file

# FoamNordic

FoamNordic provides Python-driven coupling and external model execution for
OpenFOAM using SmartSim and SmartRedis.

## Installation

FoamNordic requires Python 3.11–3.12.

> **Note for macOS:** CMake must be installed with Homebrew before building
> the FoamNordic runtime:
>
> ```bash
> brew install cmake
> ```

```bash
pip install foamnordic
```

The default installation includes the validated JAX, Flax, Equinox,
jax2onnx, ONNX Runtime, scikit-learn, and skl2onnx model stack. Historical
extras remain accepted as compatibility aliases:

```bash
pip install "foamnordic[onnx]"
pip install "foamnordic[jax-onnx]"
pip install "foamnordic[sklearn-onnx]"
```

These commands resolve the same constrained model packages already installed
by `pip install foamnordic`.

## Build

Activate your OpenFOAM environment first.

For example:

```bash
module load openfoam
```

Or:

```bash
source /path/to/OpenFOAM/etc/bashrc
```

Then build the FoamNordic runtime and OpenFOAM integration:

```bash
foamnordic build
```

FoamNordic automatically prepares its SmartSim, SmartRedis, Redis, RedisAI,
native SmartRedis, and OpenFOAM integration dependencies.

To rebuild the runtime from a clean state:

```bash
foamnordic build --clobber
```

## Help

Display the general help:

```bash
foamnordic --help
```

Display the build options:

```bash
foamnordic build --help
```

## Python

```python
import foamnordic as fno
```

## Documentation and Development

Source code, development instructions, examples, and detailed documentation
are available on GitHub:

<https://github.com/PentagonToy/FoamNordic>

## License

FoamNordic-authored code is distributed under the MIT License. The package
also contains selected SmartSim and SmartRedis sources under BSD-2-Clause,
RedisAI sources under the Redis Source Available License Agreement, and an
OpenFOAM integration derived from openfoam-smartsim under GPL-3.0. The full
license texts and `THIRD_PARTY_NOTICES.md` are included in release artifacts.
