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

Uploaded CPython 3.13Windows x86-64

pymomentum_cpu-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_cpu-0.1.113.post0-cp313-cp313-macosx_14_0_arm64.whl (26.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

pymomentum_cpu-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

pymomentum_cpu-0.1.113.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.113.post0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.113.post0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f3ff818a18f4383d810c110fa081c7e5483aebb56f1f70b25d4737935520724d
MD5 da3b4b85c7e99e0b13748960674d6a9a
BLAKE2b-256 3a709ebd27b6d319e558e22a0522589d2b0ba40158b671241423d795945cd9f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b861bb8d6b74484ca708148e960cefbe629f5717214859b2a3d9ec6f2d310a0
MD5 3f193258600b629c7e0ef1654837e4c0
BLAKE2b-256 c32be4a3164625216671d680689d07294ffb0a7e559d32c73e7b2459b92f821b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.113.post0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f1d68c1e2fe5d7e39f233d8ea8a388a8f31603ac27a1d6cb4528a9752a583f9f
MD5 76d3033d706010eb0c904166374cf9c0
BLAKE2b-256 1e46dca3c8bc166f6abdd6b7e8f92ceda6e99391323b551979507a3877f12d4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_cpu-0.1.113.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.113.post0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.113.post0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 35fd1dec164d0b6bb5e43e62249a1a536b72196c12b3335cc436d9dd92f1014e
MD5 f6993fb4c91a202c9a64b097fdbe31e1
BLAKE2b-256 4774e11703841ef789bb39d0fbe78b527801ecf72159c34e36e879d615a335c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e7313542906f8ecba0d70d3b0aad97885e24b4620f0829d42d0fce9ad4bcce35
MD5 d82c6dd8e958706c7adc2ab1e8a1ef61
BLAKE2b-256 4d252d78e86f1112e9d27218a619f6f2775b534cf1874ba2fcc82325180484ff

See more details on using hashes here.

Provenance

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

File details

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.113.post0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 fbe7535b9a8b0a8c835ac1f3df5ba6c12b4c91080cb74a041552c33f530b5417
MD5 79d7ce217a9cced75d18067f98c0f30b
BLAKE2b-256 2e6ba963075675baf3cd40cbdae201b20273d3d82368a53b4c40a037b728733c

See more details on using hashes here.

Provenance

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