Skip to main content

A library providing foundational algorithms for human kinematic motion and numerical optimization solvers to apply human motion in various applications (Torch C++ extension package linked against CUDA PyTorch)

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pymomentum_gpu-0.1.113.post0-cp313-cp313-win_amd64.whl (92.3 MB view details)

Uploaded CPython 3.13Windows x86-64

pymomentum_gpu-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl (47.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pymomentum_gpu-0.1.113.post0-cp312-cp312-win_amd64.whl (92.3 MB view details)

Uploaded CPython 3.12Windows x86-64

pymomentum_gpu-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl (47.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

File details

Details for the file pymomentum_gpu-0.1.113.post0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.113.post0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ca34d3e639eabbcac517c40b4e526743b38e658fae040fc3ac107efe18fa70e8
MD5 600ca86182245d3d2e1b6c40dd4c16f8
BLAKE2b-256 2b8bc9f789631642a09c23049b83cf8784ce8c6d8465c151386e4a8941696054

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.113.post0-cp313-cp313-win_amd64.whl:

Publisher: publish_to_pypi.yml on facebookresearch/momentum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymomentum_gpu-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f69a9f85455a972cd85432b9c58c6735735ac60c82a48f64bd4a962bfe4b7196
MD5 86e1f28859eb9af56e2d37c3b0e01526
BLAKE2b-256 841b0bd2566d458991f3a2d77c46a5337a6603d06db59acec7eeb9cb93b7b86e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on facebookresearch/momentum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymomentum_gpu-0.1.113.post0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.113.post0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 64f54abe0d673d81efab593362a65db30e0eec722b361f132c6850aacaa2ebbd
MD5 66b8b962bb2cd764fccbf22a6b1fe170
BLAKE2b-256 25b1b65665cd21e7e7982c596f712eb2bbc1c3cf495593174f8b51ebae324285

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.113.post0-cp312-cp312-win_amd64.whl:

Publisher: publish_to_pypi.yml on facebookresearch/momentum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymomentum_gpu-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37261b45655e68b7f565ce3b07fc4d6654c89b90c262d125c22cfcd4a9e487af
MD5 c70b84595211eadf67b6042f3fe9be8c
BLAKE2b-256 c780f2e31a3e1d646f0521652cb68b8a198abdfef4a6c074de72b5d49e60f96d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish_to_pypi.yml on facebookresearch/momentum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page