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.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.51-cp311-cp311-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.11 macOS 12.0+ x86-64

nimblephysics-0.10.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.51-cp310-cp310-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

nimblephysics-0.10.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.51-cp39-cp39-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

nimblephysics-0.10.51-cp39-cp39-macosx_11_0_universal2.whl (34.4 MB view details)

Uploaded CPython 3.9 macOS 11.0+ universal2 (ARM64, x86-64)

nimblephysics-0.10.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (69.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

nimblephysics-0.10.51-cp38-cp38-macosx_12_0_x86_64.whl (41.2 MB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 738c22287f79a78977a843452b238296b66175b94940090a5636ecf93e3788b9
MD5 7d5e7c257450b458e1b355acc9a71d7d
BLAKE2b-256 1f41b4a88d9a6f1a93240082535297d10dfb520cde4114ee9ec8845f45f45607

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 83cb087898b73a257e693747c607515fc74634b1c4dd8330e52e3a5429ce7c6c
MD5 028418832e0994c022f53ae3e48839e2
BLAKE2b-256 ca97dd6532dd3670c7d58c97c50a9a7ce2bfbb3e4b0381787e90a23313480296

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e872a4f4a784ca13263e0987851226dd6cd9bfe0e76f3872d140c8d3d572ca7
MD5 cfa138375b9de120aedc1470f0545e68
BLAKE2b-256 722ae3bd06f8fb7a34c03d5bf5ed7d4197542d34467d1d07c51bd6a331b10827

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 966c4fbddf0796c4f77e2a141c411c4c50ed9e13680a9305967b436a30314f56
MD5 7b3dfe41126f987c6cb78f1827ebc68b
BLAKE2b-256 c542d9e014a35b09994ac44fb26416b4055c7080dc6619f22465aa4986f4b4dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b17ddc4e3d582b12350d28a8901af3dedbd030966a8ce36141f3d3e05fc0d8c4
MD5 e21fe4fdc056172ba6532e51c90c1a65
BLAKE2b-256 d8e0953bcf48204710f055b58d3522db6535b4e1521920d699cfad9a35cdfeb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 bbff8e0093d6efbb1c66f0e15d80429e61f6d9e95a9695462247f65cc9afab59
MD5 ec91093727c24eb6cbbc0b9143c69071
BLAKE2b-256 3ca7db4862fcbe5d7b8b1865a54b41067865ecc5e00f7de056587d33e0a35f6a

See more details on using hashes here.

File details

Details for the file nimblephysics-0.10.51-cp39-cp39-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp39-cp39-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 09127ada38db888da27dc913196d4733635419f615645f1b92b7ba4d14fff9c9
MD5 030e4cedf795bb8e3f1afab69e386fe3
BLAKE2b-256 eea7af29d78a449e0e633815cc346a661d34f6942ae35c963d4a722dc1d86e82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39452ff2d3ce6cefa8be0b929aa9689d28bdcd7d6c25c77418035ccb984b8a1c
MD5 22853206236f2e821e5b3cab19112172
BLAKE2b-256 bca336199613583f78d28dc55351db45a563f10464ed48aa7cfca7c827b561a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.51-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 62de2fd0d6b47dd3015f15b319bfd5e2819bbace9cc419e0d78cc72a20c18803
MD5 f0b81a17d0a5008b56c6342570077bd5
BLAKE2b-256 f3c94d0065d8b1a36f6e9985c6bde144c76183c95a9c355ac4b8f4cd5b3017ad

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