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.1-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.1-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.1-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.1-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.1-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.1-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.1-cp39-cp39-macosx_11_0_universal2.whl (34.2 MB view details)

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

nimblephysics-0.10.52.1-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.1-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.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f59e015060c070fba3440c22c4edb8f33a4622a20b7dbe613c63f27bdc8c346c
MD5 86c7ceba277ae41c31ae0eaec73182b8
BLAKE2b-256 71a21d80b2578f04da6a345f3c903106e9095e1b6e4fadffff636fa1c2bb19fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 7aa59ea0d78076853d0c1591dc1220feb594559dd97df85633b0403c9870be91
MD5 de79964d18319624f0a909c657a72d7a
BLAKE2b-256 941bc148ed5432bd6cf85a32d5cf84c3e85998bde99008d2d80100faeef0db8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58b58f1887bc5674acafeebbeeced4deeb54841e0c600c52852cbbb88614d3fc
MD5 e538b49308837445bf637d386e671a97
BLAKE2b-256 d41b3ae2d5b3858a29f678be5631dd0c53dc255fa79598e6e69da6dfe1b85b5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 84654dbfc24a47e1b7e56f72ec52810d6fe6316a3f162d9ce9e07aeee2089220
MD5 1be7ecc36e8a082fe90dd03112b23551
BLAKE2b-256 67c59b509c8d762443dc8863ca17bb9a7ade14745b0041a4a1f4dfc0ab51ded7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24aeec4bf392fbdcfaec0dc178dbf360e303861474c4cf04282e6ccc9dc31221
MD5 db38271ba322caeeba8a9a6f071a4e13
BLAKE2b-256 dc3e8ffd76007532e9f038744e4e89bbe640fcdce3d09c1b965be66f5acc5994

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 5d875152316e0c46152a87c1085c4f2a29753c2292b17e35521f67b2bb0771bc
MD5 d3ee6dd109a763cecfb46184b3e59016
BLAKE2b-256 729f222ec397ec1a95b6056c7bfd74424010e6a219c3b662417e193aa1c72689

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp39-cp39-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 20d0c635356cba1f3020a4a4b9a6a567932376bd8a4fe3bc051d115a899176a7
MD5 5d3a1fc183695c18f193141a5f3d2c0a
BLAKE2b-256 28b65eec8096ff1e628a23548ba2b8fcb605d7281a4e682e9c4cda703feb0f5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6bd0cbe5a2a70f382642a3aec1e4fc138afd9fa18c8d718ab04e9b08b69dd410
MD5 33f7aed36e93a8600d5a24df40249635
BLAKE2b-256 83e25f79b533b425e49e6c37d88da8f1b4cba51314a89208d490cd9cd51931f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nimblephysics-0.10.52.1-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 76c2836d0cbbb2239e5bf65a8ad8adc96c70841fdf2404942113cb469f9b5582
MD5 6fb92acee429918a5b328d72f2dd2fcd
BLAKE2b-256 807f42b752fbb075c56fc78a4cff1312c45fe7b0913dec954143d68bd4f1f8d2

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