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 CPU 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_cpu-0.1.114.post0-cp313-cp313-win_amd64.whl (92.3 MB view details)

Uploaded CPython 3.13Windows x86-64

pymomentum_cpu-0.1.114.post0-cp313-cp313-manylinux_2_28_x86_64.whl (43.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pymomentum_cpu-0.1.114.post0-cp313-cp313-macosx_14_0_arm64.whl (26.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pymomentum_cpu-0.1.114.post0-cp312-cp312-win_amd64.whl (92.3 MB view details)

Uploaded CPython 3.12Windows x86-64

pymomentum_cpu-0.1.114.post0-cp312-cp312-manylinux_2_28_x86_64.whl (43.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pymomentum_cpu-0.1.114.post0-cp312-cp312-macosx_14_0_arm64.whl (26.1 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

Details for the file pymomentum_cpu-0.1.114.post0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.114.post0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9d26fe8899b84cefd564643507148c57ff14799118c8347a057275b4b3b5690d
MD5 9bb0b3caaaeba4c16bac3473c4c8c6ce
BLAKE2b-256 f4fb5d3f2d77286e5cdf6fea76aa07221c00f69611b15264fd00713adc909bff

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_cpu-0.1.114.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_cpu-0.1.114.post0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.114.post0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59b0ceaeb28b21ef393e55194fcd0d3ce34ddfbf0ab811d57113e2fddbe19c9b
MD5 60e909ab5b866f2061389c798061a49f
BLAKE2b-256 2f321f883da419dc9cd96fbcfe2be0a5978b72920cf604ffa5b97fd44533e184

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_cpu-0.1.114.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_cpu-0.1.114.post0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.114.post0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f733201c80063129fbbd3dbacdd21d4da0b3ea991198cbb67fd5b473cb9628af
MD5 7bf496668139dbfe060c12f0c7b0a5ed
BLAKE2b-256 193324b70511d21722b1f680051c241a5807623bcf7ea66c2af2505290f55bd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_cpu-0.1.114.post0-cp313-cp313-macosx_14_0_arm64.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_cpu-0.1.114.post0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.114.post0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dbd57774c6a52c642d4dd407d638c56a266e25bfc5c79c3e55e5233aac5a5fbf
MD5 ddfdb451fb9ee058ccfab77db37481c1
BLAKE2b-256 dbab30bddd058180ca1385cb090bea59064724b9eecb7874e92b2e7bd2e00689

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_cpu-0.1.114.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_cpu-0.1.114.post0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.114.post0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 661b013f279128e0abae09595731a314cabc3ff191ec0539d4a7d42100e4d81e
MD5 fc0939da445efe828e6b686c86fe9eca
BLAKE2b-256 f6d52494d6b084f26b6e0470274ca5e36cbb33b6abbc499faaf0160deb4ddfff

See more details on using hashes here.

Provenance

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

File details

Details for the file pymomentum_cpu-0.1.114.post0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.114.post0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 aa2dacb8d361f6fd0517880978f8a13f76f7d9c4a0fd8b8d330e8e252d17d106
MD5 8fc8538ad51259b082df42c2c880d7db
BLAKE2b-256 c362614c3b86de07a281ee8ed81fb66332b79e4da70bfe5597b2cb006d72fc9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_cpu-0.1.114.post0-cp312-cp312-macosx_14_0_arm64.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