Skip to main content

A library providing foundational algorithms for human kinematic motion and numerical optimization solvers to apply human motion in various applications (core package without Torch C++ extensions)

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_core-0.1.113.post0-cp313-cp313-win_amd64.whl (90.6 MB view details)

Uploaded CPython 3.13Windows x86-64

pymomentum_core-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl (42.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

pymomentum_core-0.1.113.post0-cp313-cp313-macosx_14_0_arm64.whl (23.4 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pymomentum_core-0.1.113.post0-cp312-cp312-win_amd64.whl (90.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pymomentum_core-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl (42.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

pymomentum_core-0.1.113.post0-cp312-cp312-macosx_14_0_arm64.whl (23.4 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

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

File metadata

File hashes

Hashes for pymomentum_core-0.1.113.post0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6892d6ee46d6f907069788bd03aba39d3ba89e6417c7a35839214ab3063f43b8
MD5 6f287ee3fa5aa829ab903cbb980303b6
BLAKE2b-256 04208b916a6a18cf03f015cf62a208da0f1fb035ee45834b72418f48df052e53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_core-0.1.113.post0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 54d133b6ed43530879ae134212335fb3ff9403927edb19fdcf5628e80bf53b35
MD5 ff5fb1766fb9c06edaf1dfa1266192c0
BLAKE2b-256 a3e823ae4565fc7d9ade4dab39100ff90db5cda89cb597fda6ae613b65978606

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_core-0.1.113.post0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0adc21e69fbf2ad1b8f433fad4b33f8aec8c90ce11dcbef212933f04b8f0da26
MD5 0a86d7e06ef88ef961c85eda0442c10f
BLAKE2b-256 67dfc55ae2dab003a071ba2af045ba5fd44633d7dd6cfa9e1a061614b4b0b123

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_core-0.1.113.post0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7f2a0e83966182d3bfb173a98eb908f6de0901639c75417452f8b96cb08d5101
MD5 867522bf706c636ef612dbbb308f3a48
BLAKE2b-256 b3a59ab5bf2343513229bd94f0ad1bb355c9e8d0ffcc5505ff69d8f307af1934

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pymomentum_core-0.1.113.post0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 484a677931b9c9983588da77349f58c7baf3993b207bdb4f80e85fd411757ad6
MD5 e642797004c201442b047a567d1f7df8
BLAKE2b-256 2caaaa8b5555bd10cae04610cf77200f83f08306ec7585d8b63e54c9624a076d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymomentum_core-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_core-0.1.113.post0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pymomentum_core-0.1.113.post0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7594884ab19583bbec2398d0f58a1bff47022e84a8b0809c7250aef61874a6c5
MD5 7402f11f93f545ec10bc8819dd2f9789
BLAKE2b-256 216dfa9888e72bc4af20b634f2ee36ef8085a6702b58a58197c2370f5ebccd3c

See more details on using hashes here.

Provenance

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