Skip to content

facebookresearch/momentum

Momentum

CI Windows CI macOS CI Ubuntu Publish Website PyPI Wheels

Momentum provides foundational algorithms for human kinematic motion and numerical optimization solvers to apply human motion in various applications.

Forward and Inverse Kinematics with Interpretable Parameterization RGBD Body Tracking Solver Monocular RGB Body Tracking Solver

Quick Start

Installation

Pre-built binaries are available for Windows, macOS, and Linux:

Install full conda/pixi packages -- recommended

# Install full python package from pixi, including modules with cpp torch dependencies
pixi add pymomentum

# Install full python package from conda, including modules with cpp torch dependencies
conda install -c conda-forge pymomentum

# Install cpp momentum package from pixi, including modules with cpp torch dependencies
pixi add momentum-cpp

# Install cpp momentum package from conda, including modules with cpp torch dependencies
conda install -c conda-forge momentum-cpp

Install PyPI wheels -- these are experimental ⚠️

# Install core package with NumPy/SciPy and PyTorch dependencies, but no Torch C++ extension modules
pip install pymomentum-core

# Install core package with optional visualization helpers
pip install "pymomentum-core[viser,rerun]"

# Install full package including diff_geometry and differentiable solver modules, linked against CPU PyTorch
pip install pymomentum-cpu

# Install full package including diff_geometry and differentiable solver modules, linked against CUDA PyTorch
pip install "torch>=2.8,<2.9" --index-url https://download.pytorch.org/whl/cu129
pip install pymomentum-gpu

Conda/Pixi currently publish the full PyMomentum package. Use the PyPI core package (since release v0.1.111) when you need a Python install without the Torch C++ extension dependency.

Install exactly one PyPI package for a given environment. The pymomentum-core package includes the NumPy/SciPy modules geometry, solver2, marker_tracking, axel, camera, and renderer, plus the torch-backed Python helper modules torch. The pymomentum-cpu and pymomentum-gpu packages provide differentiable optimization modules diff_geometry and solver, but they must match a supported PyTorch C++ ABI and therefore have stricter PyTorch version constraints.

⚠️ PyPI support is experimental. For the most stable experience, we recommend using Conda or Pixi.

📦 Browse packages: conda-forgeprefix.devPyPI

Building from Source

git clone https://github.com/facebookresearch/momentum
cd momentum
pixi run build      # Builds C++ library and Python bindings
pixi run test       # Runs tests
pixi run hello_world  # Runs example

For detailed instructions, see the comprehensive guides on our website:

📖 Documentation

Visit our documentation website for comprehensive guides, examples, and API references:

Contributing

Check our contributing guide to learn about how to contribute to the project.

License

Momentum is licensed under the MIT License. A copy of the license can be found here.

About

A library for human kinematic motion and numerical optimization solvers to apply human motion

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors