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.112.post0-cp313-cp313-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pymomentum_gpu-0.1.112.post0-cp313-cp313-manylinux_2_28_x86_64.whl (124.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pymomentum_gpu-0.1.112.post0-cp312-cp312-win_amd64.whl (92.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pymomentum_gpu-0.1.112.post0-cp312-cp312-manylinux_2_28_x86_64.whl (124.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

File details

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

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.112.post0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 add52b8c90e7339f9eb3679f18a0fd0021c60be89e1eb6587c4753467a54aa76
MD5 96f1d179a6e6766e5591f6047f58fac1
BLAKE2b-256 987494e97fb465409dc777e40bad2debb8cad381360068e6b60ad99ff0393677

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.112.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.112.post0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.112.post0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 036ccecc4c58e3c809ab5fc521d0d93e06038b4adf46e9cd3f4c763272eb4888
MD5 39511b40ff825ceed1fb1f706fb26bad
BLAKE2b-256 256754c18f741454ac51caaef0be776d2ad8bddb4089f8314bb77a1e2bffc761

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.112.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.112.post0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.112.post0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 461a180fa75770d780a4cbe88d543a1ada3a70a7938626c355ff3868c7c28968
MD5 115d23f02bc352bc23886281034713e4
BLAKE2b-256 13d5535cf3ba4be3135ac98ab8091c025b9337cda83d69595e0bebf364a2ff7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.112.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.112.post0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymomentum_gpu-0.1.112.post0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5593ee07908820f4156b115b5add95fee377c37a9f3080d73f987f5a827ed7ba
MD5 b5d0bdee643a6922eb277455cef1accb
BLAKE2b-256 73c1b093066745f65ac682d2f783fc15ab8f00cab931a34256788bfda98ad124

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_gpu-0.1.112.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