A differentiable fully featured physics engine
Project description
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.
We support an analytical backwards pass, that works even through contact and friction.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file nimblephysics-0.10.52.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 70.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f59e015060c070fba3440c22c4edb8f33a4622a20b7dbe613c63f27bdc8c346c |
|
MD5 | 86c7ceba277ae41c31ae0eaec73182b8 |
|
BLAKE2b-256 | 71a21d80b2578f04da6a345f3c903106e9095e1b6e4fadffff636fa1c2bb19fd |
File details
Details for the file nimblephysics-0.10.52.1-cp311-cp311-macosx_12_0_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp311-cp311-macosx_12_0_x86_64.whl
- Upload date:
- Size: 41.3 MB
- Tags: CPython 3.11, macOS 12.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7aa59ea0d78076853d0c1591dc1220feb594559dd97df85633b0403c9870be91 |
|
MD5 | de79964d18319624f0a909c657a72d7a |
|
BLAKE2b-256 | 941bc148ed5432bd6cf85a32d5cf84c3e85998bde99008d2d80100faeef0db8c |
File details
Details for the file nimblephysics-0.10.52.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 70.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58b58f1887bc5674acafeebbeeced4deeb54841e0c600c52852cbbb88614d3fc |
|
MD5 | e538b49308837445bf637d386e671a97 |
|
BLAKE2b-256 | d41b3ae2d5b3858a29f678be5631dd0c53dc255fa79598e6e69da6dfe1b85b5f |
File details
Details for the file nimblephysics-0.10.52.1-cp310-cp310-macosx_12_0_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp310-cp310-macosx_12_0_x86_64.whl
- Upload date:
- Size: 41.3 MB
- Tags: CPython 3.10, macOS 12.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84654dbfc24a47e1b7e56f72ec52810d6fe6316a3f162d9ce9e07aeee2089220 |
|
MD5 | 1be7ecc36e8a082fe90dd03112b23551 |
|
BLAKE2b-256 | 67c59b509c8d762443dc8863ca17bb9a7ade14745b0041a4a1f4dfc0ab51ded7 |
File details
Details for the file nimblephysics-0.10.52.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 70.0 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24aeec4bf392fbdcfaec0dc178dbf360e303861474c4cf04282e6ccc9dc31221 |
|
MD5 | db38271ba322caeeba8a9a6f071a4e13 |
|
BLAKE2b-256 | dc3e8ffd76007532e9f038744e4e89bbe640fcdce3d09c1b965be66f5acc5994 |
File details
Details for the file nimblephysics-0.10.52.1-cp39-cp39-macosx_12_0_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp39-cp39-macosx_12_0_x86_64.whl
- Upload date:
- Size: 41.3 MB
- Tags: CPython 3.9, macOS 12.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d875152316e0c46152a87c1085c4f2a29753c2292b17e35521f67b2bb0771bc |
|
MD5 | d3ee6dd109a763cecfb46184b3e59016 |
|
BLAKE2b-256 | 729f222ec397ec1a95b6056c7bfd74424010e6a219c3b662417e193aa1c72689 |
File details
Details for the file nimblephysics-0.10.52.1-cp39-cp39-macosx_11_0_universal2.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp39-cp39-macosx_11_0_universal2.whl
- Upload date:
- Size: 34.2 MB
- Tags: CPython 3.9, macOS 11.0+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20d0c635356cba1f3020a4a4b9a6a567932376bd8a4fe3bc051d115a899176a7 |
|
MD5 | 5d3a1fc183695c18f193141a5f3d2c0a |
|
BLAKE2b-256 | 28b65eec8096ff1e628a23548ba2b8fcb605d7281a4e682e9c4cda703feb0f5a |
File details
Details for the file nimblephysics-0.10.52.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 70.0 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bd0cbe5a2a70f382642a3aec1e4fc138afd9fa18c8d718ab04e9b08b69dd410 |
|
MD5 | 33f7aed36e93a8600d5a24df40249635 |
|
BLAKE2b-256 | 83e25f79b533b425e49e6c37d88da8f1b4cba51314a89208d490cd9cd51931f3 |
File details
Details for the file nimblephysics-0.10.52.1-cp38-cp38-macosx_12_0_x86_64.whl
.
File metadata
- Download URL: nimblephysics-0.10.52.1-cp38-cp38-macosx_12_0_x86_64.whl
- Upload date:
- Size: 41.3 MB
- Tags: CPython 3.8, macOS 12.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76c2836d0cbbb2239e5bf65a8ad8adc96c70841fdf2404942113cb469f9b5582 |
|
MD5 | 6fb92acee429918a5b328d72f2dd2fcd |
|
BLAKE2b-256 | 807f42b752fbb075c56fc78a4cff1312c45fe7b0913dec954143d68bd4f1f8d2 |