Installation#
Install from PyPI#
pip install py-soma-x
SOMA-X downloads its public runtime assets from
nvidia/SOMA-X on first use. The
download is cached by huggingface_hub; pass data_root to a layer when an
explicit local asset directory is preferred.
Install optional identity backends with extras:
pip install "py-soma-x[smpl]"
pip install "py-soma-x[anny]"
pip install "py-soma-x[demo]"
Separately licensed model files#
SOMA-X does not redistribute SMPL, SMPL-X, or MANO model files. Download the models from their official sources under the applicable license and pass the local path explicitly.
from soma import SOMALayer
body = SOMALayer(
identity_model_type="smpl",
identity_model_kwargs={"model_path": "/path/to/SMPL_NEUTRAL.pkl"},
)
The hand conversion tools accept MANO_LEFT.pkl and MANO_RIGHT.pkl from
MANO v1.2. See SOMA Hand data assets for the expected
paths and interoperability contract.
The smplx dependency requires chumpy, whose PyPI package needs build
isolation disabled:
pip install --no-build-isolation chumpy
If that package build is unavailable, install the compatible source revision:
pip install --no-build-isolation \
git+https://github.com/mattloper/chumpy@580566eafc9ac68b2614b64d6f7aaa8
Developer installation#
The source repository uses Git LFS for runtime and test assets.
git lfs install
git clone https://github.com/NVlabs/SOMA-X.git
cd SOMA-X
git lfs pull
Create an environment and install the development dependencies:
pip install uv
uv venv .venv
source .venv/bin/activate
uv pip install torch --index-url https://download.pytorch.org/whl/cu124
uv pip install -e ".[dev]"
On Windows PowerShell, activate with .\.venv\Scripts\activate after
uv venv .venv. Select the PyTorch wheel index that matches the installed GPU
driver and CUDA runtime.
Run the test suite with:
pytest tests -v
Optional body identity assets#
GarmentMeasurements#
Clone the upstream GarmentMeasurements repository and convert its PCA file into the local SOMA-X asset layout:
python tools/convert_gm_pca_to_npz.py \
/path/to/GarmentMeasurements/data/pca/point.pca \
assets/GarmentMeasurements/point.npz
Anny#
uv pip install -e ".[anny]"
SMPL family#
uv pip install -e ".[smpl]"
pip install --no-build-isolation chumpy
Keep licensed model files outside version control. Pass their paths through the identity backend configuration rather than copying them into a release or Hugging Face payload.