Skip to main content

A differentiable fully featured physics engine

Project description

Stanford Nimble Logo

Tests

Stanford Nimble

pip3 install nimblephysics

** BETA SOFTWARE **

Read our docs and the paper.

Use physics as a non-linearity in your neural network. A single timestep, nimble.timestep(state, controls), is a valid PyTorch function.

Forward pass illustration

We support an analytical backwards pass, that works even through contact and friction.

Backpropagation illustration

It's as easy as:

from nimble import timestep

# Everything is a PyTorch Tensor, and this is differentiable!!
next_state = timestep(world, current_state, control_forces)

Nimble started life as a fork of the popular DART physics engine, with analytical gradients and a PyTorch binding. We've worked hard to maintain as much backwards compatability as we can, so many simulations that worked in DART should translate directly to Nimble.

Check out our website for more information.

Installing on Arm64 Macs (M1, M2, etc)

We don't yet publish Arm64 binaries to PyPI from our CI system, so you may not be able to pip3 install nimblephysics from a new Arm64 Mac. We will endeavor to manually push binaries occassionally, but until GitHub Actions supports using Arm64 Mac runners, that may run a bit behind.

Currently, the pre-built Arm64 binaries are ONLY AVAILABLE ON PYTHON 3.9. So if you create a virtual environment with Python 3.9, and then pip3 install nimblephysics, that should work.

If you really need another Python version for some reason, the solution is to clone this repo, then run

  • ci/mac/install_dependencies.sh
  • ci/mac/manually_build_arm64_wheels.sh That will install the dependencies you need, and then build and install the Python package. Please create Issues if you run into problems, and we'll do our best to fix them.

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

nimblephysics-0.10.52-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (70.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.52-cp311-cp311-macosx_12_0_x86_64.whl (41.3 MB view details)

Uploaded CPython 3.11 macOS 12.0+ x86-64

nimblephysics-0.10.52-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (70.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.52-cp310-cp310-macosx_12_0_x86_64.whl (41.3 MB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

nimblephysics-0.10.52-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (70.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.52-cp39-cp39-macosx_12_0_x86_64.whl (41.3 MB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

nimblephysics-0.10.52-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (70.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.52-cp38-cp38-macosx_12_0_x86_64.whl (41.3 MB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

File details

Details for the file nimblephysics-0.10.52-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66e00725b89709753e3a541c1f5195bffd5e17383efcafe42584c247ec8b0ad2
MD5 6ad21996153c5f0c93114516890f1b7e
BLAKE2b-256 52d2dc3f3529f668a14d54ebdc7fae4d8600a3e246ddb1ee915598d505c4d422

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp311-cp311-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 798d937d54217509fb2b2cf6fb87a3cfe89e215f13bddb2de1fe5d520dc9bd66
MD5 d0416d3e534da890f3fed0dd837368d8
BLAKE2b-256 4b5610edc68274930293c03e4c4f13e8d54b06cf716972c01844f62fee2b6253

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8bcab71fbf59f7548e7f6b6be6d3a584347d5f12876b5128dfef1514583b0470
MD5 8c2c09ff7d722e0b5322f81ed9dbe652
BLAKE2b-256 03c7d3c90e032fef0dcb1c1c21822f8d4fd5cb2f6c71237a37f792b61d139790

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 da5c25492051d88b8e78415a457a416bd24752a1dc8ff49d9d817a6b75594ce0
MD5 c5e7838b5ebd823da0188c46bbc156b7
BLAKE2b-256 e658e205f853a22de39750caad6d8797127d829f7221ca6f5d012eeb9b137099

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e66fef975ef47d601f1d0011799356a36e0c1e161987a87528efcd56ec98f7f
MD5 c5b92c9fb3de02d6898d41f6a6bca7f1
BLAKE2b-256 3529f37fd0a4cf409ffe90b051b35f4d1f39158faf9cf2bc37d398d880caa60e

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 a8865eecb152e1ee85940d238bfcaf6f220972b00b6749715829027cc7c34c6b
MD5 304410d4ff7c712d87b85ec021391763
BLAKE2b-256 c4c4c03098fb729f8adc3b9e53d0975b4536c05219f9188a18093e103a835918

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdf503b921467a5388c9fb38a48991c2d73fdb2400c51df06bc384390a778a19
MD5 ab887edec4baca7991c6aed442f2e8a4
BLAKE2b-256 5706ff800a05743f844357593c529d41481bdf5258d0c8ff1ef599bbc95da650

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.52-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 46fb9208379c12da4c90ac7aa1e52c101d1752eb9eb35e5a39e3d4e0ab9c776b
MD5 61cdecc27f78d3a1dee1143d489e63dc
BLAKE2b-256 f1e694fd2c71390f1cc64c389c17ad3c903219cd218e76d96bb8e4fa2ce2507a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page