jaxsim 0.5.1.dev12__tar.gz → 0.5.1.dev17__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.
Files changed (131) hide show
  1. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/PKG-INFO +1 -1
  2. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/pyproject.toml +3 -0
  3. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/_version.py +2 -2
  4. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/relaxed_rigid.py +2 -2
  5. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/PKG-INFO +1 -1
  6. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/conftest.py +49 -1
  7. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.devcontainer/Dockerfile +0 -0
  8. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.devcontainer/devcontainer.json +0 -0
  9. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.gitattributes +0 -0
  10. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/CODEOWNERS +0 -0
  11. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/dependabot.yml +0 -0
  12. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/workflows/ci_cd.yml +0 -0
  13. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/workflows/pixi.yml +0 -0
  14. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/workflows/read_the_docs.yml +0 -0
  15. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.gitignore +0 -0
  16. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.pre-commit-config.yaml +0 -0
  17. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.readthedocs.yaml +0 -0
  18. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/CONTRIBUTING.md +0 -0
  19. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/LICENSE +0 -0
  20. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/README.md +0 -0
  21. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/Makefile +0 -0
  22. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/conf.py +0 -0
  23. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/examples.rst +0 -0
  24. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/guide/install.rst +0 -0
  25. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/index.rst +0 -0
  26. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/make.bat +0 -0
  27. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/api.rst +0 -0
  28. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/integrators.rst +0 -0
  29. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/math.rst +0 -0
  30. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/mujoco.rst +0 -0
  31. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/parsers.rst +0 -0
  32. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/rbda.rst +0 -0
  33. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/typing.rst +0 -0
  34. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/utils.rst +0 -0
  35. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/environment.yml +0 -0
  36. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/.gitattributes +0 -0
  37. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/.gitignore +0 -0
  38. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/README.md +0 -0
  39. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/assets/build_cartpole_urdf.py +0 -0
  40. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/assets/cartpole.urdf +0 -0
  41. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  42. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  43. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  44. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/pixi.lock +0 -0
  45. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/setup.cfg +0 -0
  46. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/setup.py +0 -0
  47. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/__init__.py +0 -0
  48. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/__init__.py +0 -0
  49. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/com.py +0 -0
  50. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/common.py +0 -0
  51. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/contact.py +0 -0
  52. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/data.py +0 -0
  53. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/frame.py +0 -0
  54. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/joint.py +0 -0
  55. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  56. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/link.py +0 -0
  57. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/model.py +0 -0
  58. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/ode.py +0 -0
  59. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/ode_data.py +0 -0
  60. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/references.py +0 -0
  61. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/exceptions.py +0 -0
  62. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/__init__.py +0 -0
  63. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/common.py +0 -0
  64. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/fixed_step.py +0 -0
  65. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/variable_step.py +0 -0
  66. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/logging.py +0 -0
  67. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/__init__.py +0 -0
  68. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/adjoint.py +0 -0
  69. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/cross.py +0 -0
  70. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/inertia.py +0 -0
  71. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/joint_model.py +0 -0
  72. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/quaternion.py +0 -0
  73. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/rotation.py +0 -0
  74. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/skew.py +0 -0
  75. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/transform.py +0 -0
  76. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/__init__.py +0 -0
  77. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/__main__.py +0 -0
  78. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/loaders.py +0 -0
  79. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/model.py +0 -0
  80. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/utils.py +0 -0
  81. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/visualizer.py +0 -0
  82. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/__init__.py +0 -0
  83. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  84. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  85. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  86. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/link.py +0 -0
  87. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/model.py +0 -0
  88. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  89. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/__init__.py +0 -0
  90. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/meshes.py +0 -0
  91. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/parser.py +0 -0
  92. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/utils.py +0 -0
  93. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/__init__.py +0 -0
  94. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/aba.py +0 -0
  95. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/collidable_points.py +0 -0
  96. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  97. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/common.py +0 -0
  98. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/rigid.py +0 -0
  99. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/soft.py +0 -0
  100. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
  101. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/crba.py +0 -0
  102. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  103. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/jacobian.py +0 -0
  104. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/rnea.py +0 -0
  105. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/utils.py +0 -0
  106. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/terrain/__init__.py +0 -0
  107. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/terrain/terrain.py +0 -0
  108. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/typing.py +0 -0
  109. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/__init__.py +0 -0
  110. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  111. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/tracing.py +0 -0
  112. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/wrappers.py +0 -0
  113. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/SOURCES.txt +0 -0
  114. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  115. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/requires.txt +0 -0
  116. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/top_level.txt +0 -0
  117. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/__init__.py +0 -0
  118. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_com.py +0 -0
  119. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_contact.py +0 -0
  120. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_data.py +0 -0
  121. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_frame.py +0 -0
  122. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_joint.py +0 -0
  123. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_link.py +0 -0
  124. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_model.py +0 -0
  125. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_automatic_differentiation.py +0 -0
  126. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_contact.py +0 -0
  127. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_exceptions.py +0 -0
  128. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_meshes.py +0 -0
  129. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_pytree.py +0 -0
  130. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_simulations.py +0 -0
  131. {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev12
3
+ Version: 0.5.1.dev17
4
4
  Summary: A differentiable physics engine and multibody dynamics library for control and robot learning.
5
5
  Author-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippoluca.ferretti@outlook.com>
6
6
  Maintainer-email: Filippo Luca Ferretti <filippo.ferretti@iit.it>, Alessandro Croci <alessandro.croci@iit.it>
@@ -268,3 +268,6 @@ cuda-version = "12.*"
268
268
  # Pinning a specific version awaiting the following to get addressed:
269
269
  # https://github.com/conda-forge/jaxlib-feedstock/issues/285
270
270
  jaxlib = { version = "<0.4.31", build = "*cuda*" }
271
+
272
+ [tool.pixi.feature.gpu.tasks]
273
+ gpu-tests = { cmd = "pytest --gpu-only", depends_on = ["pipcheck"] }
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.5.1.dev12'
16
- __version_tuple__ = version_tuple = (0, 5, 1, 'dev12')
15
+ __version__ = version = '0.5.1.dev17'
16
+ __version_tuple__ = version_tuple = (0, 5, 1, 'dev17')
@@ -461,8 +461,8 @@ class RelaxedRigidContacts(common.ContactModel):
461
461
  terrain=model.terrain,
462
462
  K=1e6,
463
463
  D=2e3,
464
- p=0.0,
465
- q=0.0,
464
+ p=0.5,
465
+ q=0.5,
466
466
  # No tangential initial forces.
467
467
  mu=0.0,
468
468
  tangential_deformation=jnp.zeros(3),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev12
3
+ Version: 0.5.1.dev17
4
4
  Summary: A differentiable physics engine and multibody dynamics library for control and robot learning.
5
5
  Author-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippoluca.ferretti@outlook.com>
6
6
  Maintainer-email: Filippo Luca Ferretti <filippo.ferretti@iit.it>, Alessandro Croci <alessandro.croci@iit.it>
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  import pathlib
3
+ import subprocess
3
4
 
4
5
  import jax
5
6
  import pytest
@@ -11,7 +12,45 @@ import jaxsim
11
12
  import jaxsim.api as js
12
13
 
13
14
 
14
- def pytest_configure() -> None:
15
+ def pytest_addoption(parser):
16
+ parser.addoption(
17
+ "--gpu-only",
18
+ action="store_true",
19
+ default=False,
20
+ help="Run tests only if GPU is available and utilized",
21
+ )
22
+
23
+
24
+ def check_gpu_usage():
25
+ # Set environment variable to prioritize GPU.
26
+ os.environ["JAX_PLATFORM_NAME"] = "gpu"
27
+
28
+ # Run a simple JAX operation
29
+ x = jax.device_put(jax.numpy.ones((512, 512)))
30
+ y = jax.device_put(jax.numpy.ones((512, 512)))
31
+ _ = jax.numpy.dot(x, y).block_until_ready()
32
+
33
+ # Check GPU memory usage with nvidia-smi.
34
+ result = subprocess.run(
35
+ ["nvidia-smi", "--query-gpu=memory.used", "--format=csv,noheader"],
36
+ capture_output=True,
37
+ text=True,
38
+ )
39
+ if result.returncode != 0:
40
+ pytest.exit(
41
+ "Failed to query GPU usage. Ensure nvidia-smi is installed and accessible."
42
+ )
43
+
44
+ gpu_memory_usage = [
45
+ int(line.strip().split()[0]) for line in result.stdout.splitlines()
46
+ ]
47
+ if all(usage == 0 for usage in gpu_memory_usage):
48
+ pytest.exit(
49
+ "GPU is available but not utilized during computations. Check your JAX installation."
50
+ )
51
+
52
+
53
+ def pytest_configure(config) -> None:
15
54
  """Pytest configuration hook."""
16
55
 
17
56
  # This is a global variable that is updated by the `prng_key` fixture.
@@ -19,6 +58,15 @@ def pytest_configure() -> None:
19
58
  seed=int(os.environ.get("JAXSIM_TEST_SEED", 0))
20
59
  )
21
60
 
61
+ # Check if GPU is available and utilized.
62
+ if config.getoption("--gpu-only"):
63
+ devices = jax.devices()
64
+ if not any(device.platform == "gpu" for device in devices):
65
+ pytest.exit("No GPU devices found. Check your JAX installation.")
66
+
67
+ # Ensure GPU is being used during computation
68
+ check_gpu_usage()
69
+
22
70
 
23
71
  # ================
24
72
  # Generic fixtures
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes