Installation#
Requirements#
Python 3.12+
uv (recommended) or pip
From Source (Development)#
git clone https://github.com/NVIDIA/physicsnemo-curator.git
cd physicsnemo-curator
# Install core + dev tools
make install # runs: uv sync --group dev
# (Optional) Build the Rust native extension
make develop # runs: uv run maturin develop
Dependency Groups#
PhysicsNeMo Curator uses optional dependency groups so you only install what you need. Each submodule has its own group:
Group |
Contents |
Install |
|---|---|---|
mesh |
physicsnemo, pyvista, pyarrow, torch |
|
da |
xarray, earth2studio, zarr, gcsfs |
|
atm |
nvalchemi, ase, torch |
|
cli |
click, questionary |
|
dev |
ruff, ty, pytest, maturin, interrogate, pre-commit |
|
docs |
sphinx, nvidia-sphinx-theme, myst-parser, etc. |
|
Execution Backend Extras#
The run_pipeline() function supports multiple execution backends. The basic
backends (sequential, thread_pool, process_pool) work out of the box. For
advanced backends, install the corresponding extra:
Extra |
Backend |
Install |
|---|---|---|
loky |
joblib/loky (robust process pool) |
|
dask |
Dask bags (distributed execution) |
|
prefect |
Prefect (workflow orchestration) |
|
# Install multiple backend extras
pip install 'physicsnemo-curator[loky,dask]'
Installing Multiple Groups#
# Development with mesh support
uv sync --group dev --group mesh
# Everything
uv sync --group dev --group mesh --group docs
Verifying the Installation#
import physicsnemo_curator
print(physicsnemo_curator.__version__) # "0.1.0"
# Check mesh dependencies
from physicsnemo_curator.domains.mesh.sources.vtk import VTKSource # requires physicsnemo_curator[mesh]
Building Documentation#
uv sync --group docs
make docs
# Output in docs/_build/html/