Skip to main content

body-models

body-models provides a shared interface for parametric human body, head, hand, anatomical, and measurement models across NumPy, PyTorch, and JAX.

Documentation: https://abcamiletto.github.io/body-models/

Features

  • Shared API across human, anatomical, hand, head, and measurement models
  • NumPy, PyTorch, and JAX runtimes
  • Separate mesh and skeleton forwards with forward_vertices() and forward_skeleton()
  • Prepared identities for repeated poses with fixed shape/expression parameters
  • Mesh simplification and vertex-subset forwards for supported mesh models
  • Multiple rotation representations for supported pose models
  • Optional Warp-accelerated skinning for Torch models

Install

uv add body-models

Install optional extras when needed:

uv add "body-models[torch]"
uv add "body-models[jax]"
uv add "body-models[torch,warp]"
uv add "body-models[simplify]"

Public model assets download automatically on first use. Licensed assets use body-models download MODEL, which prompts for credentials.

Quick Start

from body_models.smpl.torch import SMPL

model = SMPL(gender="neutral")
params = model.get_rest_pose(batch_dims=(1,))

vertices = model.forward_vertices(**params)
skeleton = model.forward_skeleton(**params)

The equivalent NumPy and JAX classes live in body_models.smpl.numpy and body_models.smpl.jax. Torch models are torch.nn.Module instances, so .to(), .cuda(), and state_dict() work directly.

When shape-dependent identity parameters stay fixed across many poses, prepare them once and pass the returned dictionary back through identity. This avoids recomputing rest joints, local offsets, and rest vertices on every forward pass.

shape = params.pop("shape")
identity = model.prepare_identity(shape)

vertices = model.forward_vertices(**params, identity=identity)
skeleton = model.forward_skeleton(**params, identity=identity)

For models with expression-dependent rest state, such as SMPL-X and FLAME, pass both identity controls to prepare_identity(shape, expression).

Supported Models

  • Full bodies: SMPL, SMPL-H, SMPL-X, ANNY, MHR, SOMA, GarmentMeasurements
  • Anatomicals: SKEL
  • Heads: FLAME
  • Hands: MANO

See the model docs for setup, supported runtimes, inputs, and model-specific behavior.

Development

uv run ruff format .
uv run ruff check .
uv run ty check

License

The code is licensed under the Apache License 2.0 (see LICENSE). Model assets are licensed separately by their upstream projects — see the documentation and upstream model pages for model-specific terms.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

body_models-0.25.0.tar.gz (126.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

body_models-0.25.0-py3-none-any.whl (179.1 kB view details)

Uploaded Python 3

File details

Details for the file body_models-0.25.0.tar.gz.

File metadata

  • Download URL: body_models-0.25.0.tar.gz
  • Upload date:
  • Size: 126.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for body_models-0.25.0.tar.gz
Algorithm Hash digest
SHA256 5a667270eb15ce932fad16cd47966d2a2aa21699284965772ba512828f6e87c1
MD5 fd157f6398d1e818baa855055de343fa
BLAKE2b-256 58d8d7c71b796f7b1e2999aa4a1554e2f71d717e03e11873566d1c1253d2723e

See more details on using hashes here.

File details

Details for the file body_models-0.25.0-py3-none-any.whl.

File metadata

  • Download URL: body_models-0.25.0-py3-none-any.whl
  • Upload date:
  • Size: 179.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for body_models-0.25.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5097d0fc988fa151063a46399ca8609d176214449a26979517f36209dc2d1be3
MD5 cf9f4a861eaf8aa7c47c4018176c69d7
BLAKE2b-256 ad56b78e871a136e85cfb5b7004f7f08b82ea42b6c93ffe02ea68f7f6c1dd8d5

See more details on using hashes here.

Release history Release notifications | RSS feed

0.26.0

2 files

0.25.1

2 files

This release

0.25.0 This release

2 files

0.24.1

2 files

0.24.0

2 files

0.23.0

2 files

0.22.1

2 files

0.22.0

2 files

0.21.2

2 files

0.21.1

2 files

0.21.0

2 files

0.20.1

2 files

0.20.0

2 files

0.19.1

2 files

0.19.0

2 files

0.18.14

2 files

0.18.13

2 files

0.18.12

2 files

0.18.11

2 files

0.18.10

2 files

0.18.9

2 files

0.18.8

2 files

0.18.7

2 files

0.18.6

2 files

0.18.5

2 files

0.18.4

2 files

0.18.3

2 files

0.18.2

2 files

0.18.1

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.1

2 files

0.14.1

2 files

0.14.0

2 files

0.13.4

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.0

2 files

0.11.4

2 files

0.11.3

2 files

0.11.2

2 files

0.11.1

2 files

0.11.0

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.4

2 files

0.8.2

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.4

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page