Supported versions

pybFoam is tested in CI against the following combinations. Versions outside this matrix may work but are not exercised on every push.

OpenFOAM × Python

OpenFOAM

Python

Notes

2312

3.11

Minimum supported OpenFOAM API.

2406

3.11

2412

3.11

2506

3.11

Also used for the pre-commit and pybFoamEmbed install-layout jobs.

2512

3.11

Latest tested.

Source: .github/workflows/ci.yaml (matrix.openfoam-version).

Python

The pyproject.toml declares requires-python = ">=3.9" and ships classifiers for 3.9, 3.10, 3.11, and 3.12. CI currently exercises only 3.11 — other Python versions in that range should work but are untested.

Build-time requirements

  • CMake 3.18 or higher

  • C++17 compiler (GCC ≥ 9 or Clang ≥ 9)

  • nanobind ≥ 1.8.0 (fetched via scikit-build-core)

  • scikit-build-core ≥ 0.4.3

Runtime dependencies

From pyproject.toml:

dependencies = [
    "numpy>=1.20",
    "nanobind>=1.8.0",
    "pydantic",
    "pyyaml",
]

Optional dependency groups: dev, docs, benchmark, all.