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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

pymomentum_cpu-0.1.112.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.112.post0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.112.post0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 59798e45f74c7257ab85e6ca39d77888b3524e23861da96f9b2ba5ea94b43438
MD5 e2e2034d8f5ee88fe402dab4ec8e42f4
BLAKE2b-256 e56c9b0d92ecc1b01027dc6e8fdd99faf7ff087883b4a0acf2488ac1d2385461

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.112.post0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ed2deabc25b01bc2936144dd5f9e7113bc11cd494126ba6519fdde6c6c819e2a
MD5 a21672b26cf3acb10543bf0e923ba0a0
BLAKE2b-256 596a261bd7b89159228d20b1c5c2dce7d9ec43ad4e90cd6c9284a17aface9e7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.112.post0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e9524dcfdb9ec8add8b1332b0257bf61a97ce4d790e1d8dccb52227439d4cc35
MD5 c2a710bd1c5c55826855b976386b0d12
BLAKE2b-256 5dfdfeb0936d630bf25e730094389fbffe653c15b41223f776de8bb6aac2c70e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.112.post0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d57d4cbd2c82c97b09ce64f6936ee2bdcbea8bc4d27ff988651f57289f059877
MD5 3166aea04f180d2d2d67f366fe5e0092
BLAKE2b-256 0b8097a1a8d285d03b8a537414f15fead45b7bb4205066de8cb63ecea7a5cd84

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.112.post0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 761e36507e21707dd839889ed09a81078ac0818ccfea5c295db87741e8b7fa96
MD5 48d3f8e025acce8bcebf02c4bf24fc7e
BLAKE2b-256 af927a5a659fa2ca2c65aa430452c1f5813d8121269c0b5984b2f165cd785366

See more details on using hashes here.

Provenance

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

File details

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

File metadata

File hashes

Hashes for pymomentum_cpu-0.1.112.post0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 050c1fcb1cf05bd2fa14c8fb13df8c585c66a17ad47ae00cc4495fdb04342ce2
MD5 d75f30353291cb1584b666b084e6c169
BLAKE2b-256 3a6898eb31d8f08f06591608fabd2cf562f9a145de4f5fc7ea14d1c844cd0038

See more details on using hashes here.

Provenance

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