jaxsim 0.2.dev191__tar.gz → 0.6.1.dev5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jaxsim-0.6.1.dev5/.devcontainer/Dockerfile +19 -0
- jaxsim-0.6.1.dev5/.devcontainer/devcontainer.json +51 -0
- jaxsim-0.6.1.dev5/.gitattributes +2 -0
- jaxsim-0.6.1.dev5/.github/CODEOWNERS +1 -0
- jaxsim-0.6.1.dev5/.github/dependabot.yml +15 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/.github/workflows/ci_cd.yml +46 -17
- jaxsim-0.6.1.dev5/.github/workflows/pixi.yml +57 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/.gitignore +15 -0
- jaxsim-0.6.1.dev5/.pre-commit-config.yaml +54 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/.readthedocs.yaml +2 -2
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/LICENSE +1 -1
- jaxsim-0.6.1.dev5/PKG-INFO +465 -0
- jaxsim-0.6.1.dev5/README.md +373 -0
- jaxsim-0.6.1.dev5/docs/conf.py +121 -0
- jaxsim-0.6.1.dev5/docs/examples.rst +60 -0
- jaxsim-0.6.1.dev5/docs/guide/configuration.rst +69 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/guide/install.rst +4 -4
- jaxsim-0.6.1.dev5/docs/index.rst +138 -0
- jaxsim-0.6.1.dev5/docs/modules/api.rst +101 -0
- jaxsim-0.6.1.dev5/docs/modules/integrators.rst +23 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/modules/math.rst +2 -14
- jaxsim-0.6.1.dev5/docs/modules/mujoco.rst +27 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/modules/parsers.rst +1 -1
- jaxsim-0.6.1.dev5/docs/modules/rbda.rst +38 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/modules/typing.rst +2 -2
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/modules/utils.rst +1 -4
- jaxsim-0.6.1.dev5/environment.yml +66 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/examples/.gitattributes +0 -1
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/examples/.gitignore +0 -1
- jaxsim-0.6.1.dev5/examples/README.md +45 -0
- jaxsim-0.6.1.dev5/examples/assets/build_cartpole_urdf.py +202 -0
- jaxsim-0.6.1.dev5/examples/assets/cartpole.urdf +80 -0
- jaxsim-0.6.1.dev5/examples/jaxsim_as_multibody_dynamics_library.ipynb +966 -0
- jaxsim-0.6.1.dev5/examples/jaxsim_as_physics_engine.ipynb +274 -0
- jaxsim-0.6.1.dev5/examples/jaxsim_as_physics_engine_advanced.ipynb +476 -0
- jaxsim-0.6.1.dev5/examples/jaxsim_for_robot_controllers.ipynb +474 -0
- jaxsim-0.6.1.dev5/pixi.lock +3 -0
- jaxsim-0.6.1.dev5/pyproject.toml +286 -0
- jaxsim-0.6.1.dev5/setup.cfg +4 -0
- jaxsim-0.6.1.dev5/src/jaxsim/__init__.py +118 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/_version.py +2 -2
- jaxsim-0.6.1.dev5/src/jaxsim/api/__init__.py +13 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/com.py +423 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/api/common.py +48 -19
- jaxsim-0.6.1.dev5/src/jaxsim/api/contact.py +746 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/api/data.py +308 -163
- jaxsim-0.6.1.dev5/src/jaxsim/api/frame.py +471 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/joint.py +277 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/kin_dyn_parameters.py +901 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/link.py +461 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/model.py +2354 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/ode.py +475 -0
- jaxsim-0.6.1.dev5/src/jaxsim/api/ode_data.py +401 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/api/references.py +216 -80
- jaxsim-0.6.1.dev5/src/jaxsim/exceptions.py +80 -0
- jaxsim-0.6.1.dev5/src/jaxsim/integrators/__init__.py +2 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/integrators/common.py +191 -107
- jaxsim-0.6.1.dev5/src/jaxsim/integrators/fixed_step.py +153 -0
- jaxsim-0.6.1.dev5/src/jaxsim/integrators/variable_step.py +706 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/logging.py +1 -2
- jaxsim-0.6.1.dev5/src/jaxsim/math/__init__.py +13 -0
- jaxsim-0.6.1.dev5/src/jaxsim/math/adjoint.py +160 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/math/cross.py +18 -9
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/math/inertia.py +11 -9
- jaxsim-0.6.1.dev5/src/jaxsim/math/joint_model.py +289 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/math/quaternion.py +59 -25
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/math/rotation.py +30 -24
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/math/skew.py +18 -7
- jaxsim-0.6.1.dev5/src/jaxsim/math/transform.py +102 -0
- jaxsim-0.6.1.dev5/src/jaxsim/math/utils.py +31 -0
- jaxsim-0.6.1.dev5/src/jaxsim/mujoco/__init__.py +4 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/mujoco/loaders.py +216 -29
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/mujoco/model.py +163 -33
- jaxsim-0.6.1.dev5/src/jaxsim/mujoco/utils.py +228 -0
- jaxsim-0.6.1.dev5/src/jaxsim/mujoco/visualizer.py +245 -0
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/descriptions/__init__.py +10 -0
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/descriptions/collision.py +178 -0
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/descriptions/joint.py +130 -0
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/descriptions/link.py +120 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/parsers/descriptions/model.py +101 -68
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/kinematic_graph.py +985 -0
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/rod/meshes.py +104 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/parsers/rod/parser.py +125 -82
- jaxsim-0.6.1.dev5/src/jaxsim/parsers/rod/utils.py +273 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/__init__.py +11 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/aba.py +289 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/collidable_points.py +156 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/contacts/__init__.py +13 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/contacts/common.py +313 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/contacts/relaxed_rigid.py +605 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/contacts/rigid.py +462 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/contacts/soft.py +480 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/contacts/visco_elastic.py +1066 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/crba.py +167 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/forward_kinematics.py +117 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/jacobian.py +330 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/rnea.py +235 -0
- jaxsim-0.6.1.dev5/src/jaxsim/rbda/utils.py +160 -0
- jaxsim-0.6.1.dev5/src/jaxsim/terrain/__init__.py +2 -0
- jaxsim-0.6.1.dev5/src/jaxsim/terrain/terrain.py +238 -0
- jaxsim-0.6.1.dev5/src/jaxsim/typing.py +39 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/utils/__init__.py +1 -4
- jaxsim-0.6.1.dev5/src/jaxsim/utils/jaxsim_dataclass.py +364 -0
- jaxsim-0.6.1.dev5/src/jaxsim/utils/tracing.py +19 -0
- jaxsim-0.6.1.dev5/src/jaxsim/utils/wrappers.py +159 -0
- jaxsim-0.6.1.dev5/src/jaxsim.egg-info/PKG-INFO +465 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim.egg-info/SOURCES.txt +60 -52
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim.egg-info/requires.txt +12 -17
- jaxsim-0.6.1.dev5/tests/conftest.py +593 -0
- jaxsim-0.6.1.dev5/tests/test_api_com.py +67 -0
- jaxsim-0.6.1.dev5/tests/test_api_contact.py +167 -0
- jaxsim-0.6.1.dev5/tests/test_api_data.py +147 -0
- jaxsim-0.6.1.dev5/tests/test_api_frame.py +302 -0
- jaxsim-0.6.1.dev5/tests/test_api_joint.py +46 -0
- jaxsim-0.6.1.dev5/tests/test_api_link.py +379 -0
- jaxsim-0.6.1.dev5/tests/test_api_model.py +577 -0
- jaxsim-0.6.1.dev5/tests/test_automatic_differentiation.py +458 -0
- jaxsim-0.6.1.dev5/tests/test_benchmark.py +127 -0
- jaxsim-0.6.1.dev5/tests/test_contact.py +37 -0
- jaxsim-0.6.1.dev5/tests/test_exceptions.py +86 -0
- jaxsim-0.6.1.dev5/tests/test_meshes.py +103 -0
- jaxsim-0.6.1.dev5/tests/test_pytree.py +63 -0
- jaxsim-0.6.1.dev5/tests/test_simulations.py +473 -0
- jaxsim-0.6.1.dev5/tests/test_visualizer.py +64 -0
- jaxsim-0.6.1.dev5/tests/utils_idyntree.py +494 -0
- jaxsim-0.2.dev191/.devcontainer/Dockerfile +0 -26
- jaxsim-0.2.dev191/.devcontainer/devcontainer.json +0 -34
- jaxsim-0.2.dev191/.github/CODEOWNERS +0 -2
- jaxsim-0.2.dev191/.github/workflows/style.yml +0 -53
- jaxsim-0.2.dev191/.pre-commit-config.yaml +0 -21
- jaxsim-0.2.dev191/PKG-INFO +0 -184
- jaxsim-0.2.dev191/README.md +0 -117
- jaxsim-0.2.dev191/docs/conf.py +0 -86
- jaxsim-0.2.dev191/docs/index.rst +0 -110
- jaxsim-0.2.dev191/docs/modules/high_level.rst +0 -30
- jaxsim-0.2.dev191/docs/modules/physics.rst +0 -40
- jaxsim-0.2.dev191/docs/modules/simulation.rst +0 -34
- jaxsim-0.2.dev191/environment.yml +0 -46
- jaxsim-0.2.dev191/examples/PD_controller.ipynb +0 -378
- jaxsim-0.2.dev191/examples/Parallel_computing.ipynb +0 -305
- jaxsim-0.2.dev191/examples/README.md +0 -40
- jaxsim-0.2.dev191/examples/assets/cartpole.urdf +0 -83
- jaxsim-0.2.dev191/examples/pixi.lock +0 -9282
- jaxsim-0.2.dev191/examples/pixi.toml +0 -32
- jaxsim-0.2.dev191/pyproject.toml +0 -25
- jaxsim-0.2.dev191/setup.cfg +0 -87
- jaxsim-0.2.dev191/src/jaxsim/__init__.py +0 -67
- jaxsim-0.2.dev191/src/jaxsim/api/__init__.py +0 -1
- jaxsim-0.2.dev191/src/jaxsim/api/contact.py +0 -194
- jaxsim-0.2.dev191/src/jaxsim/api/joint.py +0 -148
- jaxsim-0.2.dev191/src/jaxsim/api/link.py +0 -262
- jaxsim-0.2.dev191/src/jaxsim/api/model.py +0 -1144
- jaxsim-0.2.dev191/src/jaxsim/api/ode.py +0 -284
- jaxsim-0.2.dev191/src/jaxsim/high_level/__init__.py +0 -2
- jaxsim-0.2.dev191/src/jaxsim/high_level/common.py +0 -11
- jaxsim-0.2.dev191/src/jaxsim/high_level/joint.py +0 -148
- jaxsim-0.2.dev191/src/jaxsim/high_level/link.py +0 -259
- jaxsim-0.2.dev191/src/jaxsim/high_level/model.py +0 -1686
- jaxsim-0.2.dev191/src/jaxsim/integrators/__init__.py +0 -2
- jaxsim-0.2.dev191/src/jaxsim/integrators/fixed_step.py +0 -158
- jaxsim-0.2.dev191/src/jaxsim/math/adjoint.py +0 -126
- jaxsim-0.2.dev191/src/jaxsim/math/conv.py +0 -114
- jaxsim-0.2.dev191/src/jaxsim/math/joint.py +0 -102
- jaxsim-0.2.dev191/src/jaxsim/math/plucker.py +0 -100
- jaxsim-0.2.dev191/src/jaxsim/mujoco/__init__.py +0 -3
- jaxsim-0.2.dev191/src/jaxsim/mujoco/visualizer.py +0 -160
- jaxsim-0.2.dev191/src/jaxsim/parsers/__init__.py +0 -1
- jaxsim-0.2.dev191/src/jaxsim/parsers/descriptions/__init__.py +0 -4
- jaxsim-0.2.dev191/src/jaxsim/parsers/descriptions/collision.py +0 -121
- jaxsim-0.2.dev191/src/jaxsim/parsers/descriptions/joint.py +0 -137
- jaxsim-0.2.dev191/src/jaxsim/parsers/descriptions/link.py +0 -93
- jaxsim-0.2.dev191/src/jaxsim/parsers/kinematic_graph.py +0 -608
- jaxsim-0.2.dev191/src/jaxsim/parsers/rod/utils.py +0 -228
- jaxsim-0.2.dev191/src/jaxsim/physics/__init__.py +0 -12
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/aba.py +0 -254
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/aba_motors.py +0 -284
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/crba.py +0 -154
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/forward_kinematics.py +0 -79
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/jacobian.py +0 -98
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/rnea.py +0 -180
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/rnea_motors.py +0 -196
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/soft_contacts.py +0 -523
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/terrain.py +0 -78
- jaxsim-0.2.dev191/src/jaxsim/physics/algos/utils.py +0 -69
- jaxsim-0.2.dev191/src/jaxsim/physics/model/__init__.py +0 -0
- jaxsim-0.2.dev191/src/jaxsim/physics/model/ground_contact.py +0 -53
- jaxsim-0.2.dev191/src/jaxsim/physics/model/physics_model.py +0 -388
- jaxsim-0.2.dev191/src/jaxsim/physics/model/physics_model_state.py +0 -283
- jaxsim-0.2.dev191/src/jaxsim/simulation/__init__.py +0 -4
- jaxsim-0.2.dev191/src/jaxsim/simulation/integrators.py +0 -393
- jaxsim-0.2.dev191/src/jaxsim/simulation/ode.py +0 -290
- jaxsim-0.2.dev191/src/jaxsim/simulation/ode_data.py +0 -96
- jaxsim-0.2.dev191/src/jaxsim/simulation/ode_integration.py +0 -62
- jaxsim-0.2.dev191/src/jaxsim/simulation/simulator.py +0 -543
- jaxsim-0.2.dev191/src/jaxsim/simulation/simulator_callbacks.py +0 -79
- jaxsim-0.2.dev191/src/jaxsim/simulation/utils.py +0 -15
- jaxsim-0.2.dev191/src/jaxsim/sixd/__init__.py +0 -2
- jaxsim-0.2.dev191/src/jaxsim/typing.py +0 -39
- jaxsim-0.2.dev191/src/jaxsim/utils/jaxsim_dataclass.py +0 -109
- jaxsim-0.2.dev191/src/jaxsim/utils/oop.py +0 -536
- jaxsim-0.2.dev191/src/jaxsim/utils/tracing.py +0 -25
- jaxsim-0.2.dev191/src/jaxsim/utils/vmappable.py +0 -117
- jaxsim-0.2.dev191/src/jaxsim.egg-info/PKG-INFO +0 -184
- jaxsim-0.2.dev191/src/jaxsim.egg-info/not-zip-safe +0 -1
- jaxsim-0.2.dev191/tests/__init__.py +0 -0
- jaxsim-0.2.dev191/tests/test_ad_physics.py +0 -190
- jaxsim-0.2.dev191/tests/test_eom.py +0 -130
- jaxsim-0.2.dev191/tests/test_forward_dynamics.py +0 -71
- jaxsim-0.2.dev191/tests/test_jax_oop.py +0 -422
- jaxsim-0.2.dev191/tests/utils_idyntree.py +0 -236
- jaxsim-0.2.dev191/tests/utils_models.py +0 -56
- jaxsim-0.2.dev191/tests/utils_rng.py +0 -96
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/.github/workflows/read_the_docs.yml +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/CONTRIBUTING.md +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/Makefile +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/docs/make.bat +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/setup.py +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/mujoco/__main__.py +0 -0
- {jaxsim-0.2.dev191/src/jaxsim/math → jaxsim-0.6.1.dev5/src/jaxsim/parsers}/__init__.py +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim/parsers/rod/__init__.py +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim.egg-info/dependency_links.txt +0 -0
- {jaxsim-0.2.dev191 → jaxsim-0.6.1.dev5}/src/jaxsim.egg-info/top_level.txt +0 -0
- {jaxsim-0.2.dev191/src/jaxsim/physics/algos → jaxsim-0.6.1.dev5/tests}/__init__.py +0 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
# syntax=docker/dockerfile:1.4
|
2
|
+
FROM mcr.microsoft.com/devcontainers/base:jammy
|
3
|
+
|
4
|
+
ARG PROJECT_NAME=jaxsim
|
5
|
+
ARG PIXI_VERSION=v0.35.0
|
6
|
+
|
7
|
+
RUN curl -o /usr/local/bin/pixi -SL https://github.com/prefix-dev/pixi/releases/download/${PIXI_VERSION}/pixi-$(uname -m)-unknown-linux-musl \
|
8
|
+
&& chmod +x /usr/local/bin/pixi \
|
9
|
+
&& pixi info
|
10
|
+
|
11
|
+
# Add LFS repository and install.
|
12
|
+
RUN apt-get update && apt-get install -y curl \
|
13
|
+
&& curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash \
|
14
|
+
&& apt install -y git-lfs
|
15
|
+
|
16
|
+
USER vscode
|
17
|
+
WORKDIR /home/vscode
|
18
|
+
|
19
|
+
RUN echo 'eval "$(pixi completion -s bash)"' >> /home/vscode/.bashrc
|
@@ -0,0 +1,51 @@
|
|
1
|
+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
2
|
+
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
|
3
|
+
{
|
4
|
+
"name": "Ubuntu",
|
5
|
+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
|
6
|
+
"build": {
|
7
|
+
"context": "..",
|
8
|
+
"dockerfile": "Dockerfile"
|
9
|
+
},
|
10
|
+
|
11
|
+
// Features to add to the dev container. More info: https://containers.dev/features.
|
12
|
+
"features": {
|
13
|
+
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
|
14
|
+
},
|
15
|
+
|
16
|
+
// Put `.pixi` folder in a mounted volume of a case-insensitive filesystem.
|
17
|
+
"mounts": ["source=${localWorkspaceFolderBasename}-pixi,target=${containerWorkspaceFolder}/.pixi,type=volume"],
|
18
|
+
|
19
|
+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
20
|
+
// "forwardPorts": [],
|
21
|
+
|
22
|
+
// Use 'postCreateCommand' to run commands after the container is created.
|
23
|
+
"postCreateCommand": "sudo chown vscode .pixi && git lfs pull --include='pixi.lock' && pixi install --environment=test-cpu",
|
24
|
+
|
25
|
+
// Configure tool-specific properties.
|
26
|
+
// "customizations": {},
|
27
|
+
|
28
|
+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
29
|
+
// "remoteUser": "root"
|
30
|
+
|
31
|
+
// VSCode extensions
|
32
|
+
"customizations": {
|
33
|
+
"vscode": {
|
34
|
+
"settings": {
|
35
|
+
"python.pythonPath": "/workspaces/jaxsim/.pixi/envs/test-cpu/bin/python",
|
36
|
+
"python.defaultInterpreterPath": "/workspaces/jaxsim/.pixi/envs/test-cpu/bin/python",
|
37
|
+
"python.terminal.activateEnvironment": true,
|
38
|
+
"python.terminal.activateEnvInCurrentTerminal": true
|
39
|
+
},
|
40
|
+
"extensions": [
|
41
|
+
"ms-python.python",
|
42
|
+
"donjayamanne.python-extension-pack",
|
43
|
+
"ms-toolsai.jupyter",
|
44
|
+
"GitHub.codespaces",
|
45
|
+
"GitHub.copilot",
|
46
|
+
"ms-azuretools.vscode-docker",
|
47
|
+
"charliermarsh.ruff"
|
48
|
+
]
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
* @flferretti @xela-95
|
@@ -0,0 +1,15 @@
|
|
1
|
+
version: 2
|
2
|
+
updates:
|
3
|
+
|
4
|
+
# Check for updates to GitHub Actions every month.
|
5
|
+
- package-ecosystem: github-actions
|
6
|
+
directory: /
|
7
|
+
schedule:
|
8
|
+
interval: monthly
|
9
|
+
# Disable rebasing automatically existing pull requests.
|
10
|
+
rebase-strategy: "disabled"
|
11
|
+
# Group updates to a single PR.
|
12
|
+
groups:
|
13
|
+
dependencies:
|
14
|
+
patterns:
|
15
|
+
- '*'
|
@@ -8,8 +8,7 @@ on:
|
|
8
8
|
types:
|
9
9
|
- published
|
10
10
|
schedule:
|
11
|
-
#
|
12
|
-
# Execute a "nightly" build at 2 AM UTC
|
11
|
+
# Execute a nightly build at 2am UTC.
|
13
12
|
- cron: '0 2 * * *'
|
14
13
|
|
15
14
|
|
@@ -21,12 +20,12 @@ jobs:
|
|
21
20
|
|
22
21
|
steps:
|
23
22
|
|
24
|
-
- uses: actions/checkout@
|
23
|
+
- uses: actions/checkout@v4
|
25
24
|
with:
|
26
25
|
fetch-depth: 0
|
27
26
|
|
28
27
|
- name: Set up Python
|
29
|
-
uses: actions/setup-python@
|
28
|
+
uses: actions/setup-python@v5
|
30
29
|
with:
|
31
30
|
python-version: "3.11"
|
32
31
|
|
@@ -46,7 +45,7 @@ jobs:
|
|
46
45
|
run: twine check dist/*
|
47
46
|
|
48
47
|
- name: Upload artifacts
|
49
|
-
uses: actions/upload-artifact@
|
48
|
+
uses: actions/upload-artifact@v4
|
50
49
|
with:
|
51
50
|
path: dist/*
|
52
51
|
name: dist
|
@@ -63,18 +62,19 @@ jobs:
|
|
63
62
|
- macos-latest
|
64
63
|
- windows-latest
|
65
64
|
python:
|
65
|
+
- "3.10"
|
66
66
|
- "3.11"
|
67
67
|
- "3.12"
|
68
68
|
|
69
69
|
steps:
|
70
70
|
|
71
71
|
- name: Set up Python
|
72
|
-
uses: actions/setup-python@
|
72
|
+
uses: actions/setup-python@v5
|
73
73
|
with:
|
74
74
|
python-version: ${{ matrix.python }}
|
75
75
|
|
76
76
|
- name: Download Python packages
|
77
|
-
uses: actions/download-artifact@
|
77
|
+
uses: actions/download-artifact@v4
|
78
78
|
with:
|
79
79
|
path: dist
|
80
80
|
name: dist
|
@@ -92,35 +92,66 @@ jobs:
|
|
92
92
|
- name: Document installed pip packages
|
93
93
|
shell: bash
|
94
94
|
run: pip list --verbose
|
95
|
-
|
95
|
+
|
96
96
|
- name: Import the package
|
97
97
|
run: python -c "import jaxsim"
|
98
98
|
|
99
|
-
- uses: actions/checkout@
|
99
|
+
- uses: actions/checkout@v4
|
100
100
|
with:
|
101
101
|
fetch-depth: 0
|
102
102
|
|
103
|
-
-
|
104
|
-
|
103
|
+
- uses: dorny/paths-filter@v3
|
104
|
+
id: changes
|
105
|
+
with:
|
106
|
+
filters: |
|
107
|
+
conf: &conf
|
108
|
+
- 'pyproject.toml'
|
109
|
+
- 'setup.cfg'
|
110
|
+
- 'setup.py'
|
111
|
+
src: &src
|
112
|
+
- 'src/**'
|
113
|
+
tests: &tests
|
114
|
+
- 'tests/**'
|
115
|
+
all:
|
116
|
+
- *conf
|
117
|
+
- *src
|
118
|
+
- *tests
|
119
|
+
|
120
|
+
- name: Install 'gz sdf' system command
|
121
|
+
if: |
|
122
|
+
contains(matrix.os, 'ubuntu') &&
|
123
|
+
(github.event_name != 'pull_request' ||
|
124
|
+
steps.changes.outputs.all == 'true')
|
105
125
|
run: |
|
106
126
|
sudo apt-get update
|
107
|
-
sudo apt-get install
|
127
|
+
sudo apt-get install lsb-release wget gnupg
|
128
|
+
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
|
129
|
+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
|
130
|
+
sudo apt-get update
|
131
|
+
sudo apt-get install --no-install-recommends libsdformat13 gz-tools2
|
108
132
|
|
109
133
|
- name: Run the Python tests
|
110
|
-
if:
|
134
|
+
if: |
|
135
|
+
contains(matrix.os, 'ubuntu') &&
|
136
|
+
(github.event_name != 'pull_request' ||
|
137
|
+
steps.changes.outputs.all == 'true')
|
111
138
|
run: pytest
|
112
139
|
env:
|
140
|
+
# https://github.com/pytest-dev/pytest/issues/7443#issuecomment-656642591
|
141
|
+
PY_COLORS: "1"
|
113
142
|
JAX_PLATFORM_NAME: cpu
|
114
143
|
|
115
144
|
publish:
|
116
145
|
name: Publish to PyPI
|
117
146
|
needs: test
|
118
147
|
runs-on: ubuntu-22.04
|
148
|
+
permissions:
|
149
|
+
id-token: write
|
119
150
|
|
120
151
|
steps:
|
121
152
|
|
122
153
|
- name: Download Python packages
|
123
|
-
uses: actions/download-artifact@
|
154
|
+
uses: actions/download-artifact@v4
|
124
155
|
with:
|
125
156
|
path: dist
|
126
157
|
name: dist
|
@@ -135,6 +166,4 @@ jobs:
|
|
135
166
|
(github.event_name == 'release'))
|
136
167
|
uses: pypa/gh-action-pypi-publish@release/v1
|
137
168
|
with:
|
138
|
-
|
139
|
-
password: ${{ secrets.PYPI_TOKEN }}
|
140
|
-
skip_existing: true
|
169
|
+
skip-existing: true
|
@@ -0,0 +1,57 @@
|
|
1
|
+
name: Pixi
|
2
|
+
|
3
|
+
permissions:
|
4
|
+
contents: write
|
5
|
+
pull-requests: write
|
6
|
+
|
7
|
+
on:
|
8
|
+
workflow_dispatch:
|
9
|
+
schedule:
|
10
|
+
# Execute at 5am UTC on the first day of the month.
|
11
|
+
- cron: '0 5 1 * *'
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
|
15
|
+
pixi-update:
|
16
|
+
runs-on: ubuntu-24.04
|
17
|
+
|
18
|
+
steps:
|
19
|
+
|
20
|
+
- uses: actions/checkout@v4
|
21
|
+
with:
|
22
|
+
lfs: true
|
23
|
+
|
24
|
+
- name: Set up pixi
|
25
|
+
uses: prefix-dev/setup-pixi@v0.8.1
|
26
|
+
with:
|
27
|
+
run-install: false
|
28
|
+
|
29
|
+
- name: Install pixi-diff-to-markdown
|
30
|
+
run: pixi global install pixi-diff-to-markdown
|
31
|
+
|
32
|
+
- name: Update pixi lockfile and generate diff
|
33
|
+
run: |
|
34
|
+
set -o pipefail
|
35
|
+
pixi update --json | pixi exec pixi-diff-to-markdown --explicit-column > diff.md
|
36
|
+
|
37
|
+
- name: Test project against updated pixi
|
38
|
+
run: pixi run --environment tasks-cpu test
|
39
|
+
env:
|
40
|
+
PY_COLORS: "1"
|
41
|
+
JAX_PLATFORM_NAME: cpu
|
42
|
+
|
43
|
+
- name: Commit and push changes
|
44
|
+
run: echo "BRANCH_NAME=update-pixi-$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV
|
45
|
+
|
46
|
+
- name: Create pull request
|
47
|
+
uses: peter-evans/create-pull-request@v7
|
48
|
+
with:
|
49
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
50
|
+
commit-message: Update `pixi.lock`
|
51
|
+
title: Update `pixi` lockfile
|
52
|
+
body-path: diff.md
|
53
|
+
branch: ${{ env.BRANCH_NAME }}
|
54
|
+
base: main
|
55
|
+
labels: pixi
|
56
|
+
add-paths: pixi.lock
|
57
|
+
delete-branch: true
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# IDEs
|
2
2
|
.idea*
|
3
|
+
.vscode/
|
3
4
|
|
4
5
|
# Matlab
|
5
6
|
*.m~
|
@@ -76,6 +77,10 @@ instance/
|
|
76
77
|
|
77
78
|
# Sphinx documentation
|
78
79
|
docs/_build/
|
80
|
+
docs/_collections/
|
81
|
+
docs/modules/_autosummary/
|
82
|
+
docs/modules/generated
|
83
|
+
docs/sg_execution_times.rst
|
79
84
|
|
80
85
|
# PyBuilder
|
81
86
|
target/
|
@@ -136,3 +141,13 @@ dmypy.json
|
|
136
141
|
|
137
142
|
# setuptools_scm dynamic version
|
138
143
|
src/jaxsim/_version.py
|
144
|
+
|
145
|
+
# ruff
|
146
|
+
.ruff_cache/
|
147
|
+
|
148
|
+
# pixi environments
|
149
|
+
.pixi
|
150
|
+
|
151
|
+
# data
|
152
|
+
.mp4
|
153
|
+
.png
|
@@ -0,0 +1,54 @@
|
|
1
|
+
ci:
|
2
|
+
autofix_prs: false
|
3
|
+
autoupdate_schedule: quarterly
|
4
|
+
submodules: false
|
5
|
+
|
6
|
+
default_language_version:
|
7
|
+
python: python3
|
8
|
+
|
9
|
+
repos:
|
10
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
11
|
+
rev: v5.0.0
|
12
|
+
hooks:
|
13
|
+
- id: check-ast
|
14
|
+
- id: check-merge-conflict
|
15
|
+
- id: check-yaml
|
16
|
+
- id: end-of-file-fixer
|
17
|
+
- id: trailing-whitespace
|
18
|
+
- id: check-toml
|
19
|
+
- id: check-added-large-files
|
20
|
+
args: ["--maxkb=2000"]
|
21
|
+
|
22
|
+
- repo: https://github.com/psf/black-pre-commit-mirror
|
23
|
+
rev: 24.10.0
|
24
|
+
hooks:
|
25
|
+
- id: black
|
26
|
+
args: ["--check", "--diff"]
|
27
|
+
|
28
|
+
- repo: https://github.com/pycqa/isort
|
29
|
+
rev: 5.13.2
|
30
|
+
hooks:
|
31
|
+
- id: isort
|
32
|
+
args: ["--check", "--diff"]
|
33
|
+
|
34
|
+
- repo: https://github.com/pre-commit/pygrep-hooks
|
35
|
+
rev: v1.10.0
|
36
|
+
hooks:
|
37
|
+
- id: rst-backticks
|
38
|
+
- id: rst-directive-colons
|
39
|
+
- id: rst-inline-touching-normal
|
40
|
+
|
41
|
+
- repo: https://github.com/codespell-project/codespell
|
42
|
+
rev: v2.3.0
|
43
|
+
hooks:
|
44
|
+
- id: codespell
|
45
|
+
|
46
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
47
|
+
rev: v0.8.6
|
48
|
+
hooks:
|
49
|
+
- id: ruff
|
50
|
+
|
51
|
+
- repo: https://github.com/kynan/nbstripout
|
52
|
+
rev: 0.8.1
|
53
|
+
hooks:
|
54
|
+
- id: nbstripout
|