Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate different outputs depending on the backend and update to adam-robotics 0.3.2 #12

Merged
merged 11 commits into from
Nov 20, 2024
Merged
15 changes: 14 additions & 1 deletion .ci_support/linux_64_.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cdt_name:
- cos7
- conda
channel_sources:
- conda-forge
channel_targets:
Expand All @@ -8,5 +8,18 @@ docker_image:
- quay.io/condaforge/linux-anvil-cos7-x86_64
idyntree:
- '13'
numpy:
- '1.26'
pin_run_as_build:
python:
min_pin: x.x
max_pin: x.x
python:
- 3.12.* *_cpython
python_min:
- '3.9'
pytorch:
- '2.4'
zip_keys:
- - python
- numpy
14 changes: 1 addition & 13 deletions .scripts/build_steps.sh

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions recipe/01-allow_long_paths.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
diff --git a/src/adam/model/std_factories/std_model.py b/src/adam/model/std_factories/std_model.py
index 9f3a1dc..2574b78 100644
--- a/src/adam/model/std_factories/std_model.py
+++ b/src/adam/model/std_factories/std_model.py
@@ -28,16 +28,10 @@ def get_xml_string(path: str | pathlib.Path):
isPath = isinstance(path, pathlib.Path)
isUrdf = False

- # Extract the maximum path length for the current OS
- try:
- from ctypes.wintypes import MAX_PATH
- except ValueError:
- MAX_PATH = os.pathconf("/", "PC_PATH_MAX")
-
# Checking if it is a path or an urdf
if not isPath:
- if len(path) <= MAX_PATH and "<robot" not in path:
- path = pathlib.Path(path)
+ if "<robot" not in path:
+ path = pathlib.Path(path).resolve()
isPath = True
else:
root = ET.fromstring(path)
186 changes: 150 additions & 36 deletions recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,54 +1,168 @@
{% set name = "adam-robotics" %}
{% set version = "0.3.0" %}
{% set version = "0.3.2" %}
{% set python_min = "3.10" %}

package:
name: {{ name|lower }}
version: {{ version }}

source:
url: https://github.com/ami-iit/ADAM/archive/refs/tags/v{{ version }}.tar.gz
sha256: e5cd1917be601e9c6b5e619ce8326da6dcbf858bb72c430e9f16377e5a48b225
sha256: 57897d5bc70f2edcdaa0e8b28b9f62f35d3384606d495ef80ae4f68c29b30401
patches:
- 01-allow_long_paths.patch

build:
number: 0
noarch: python
script: {{ PYTHON }} -m pip install . -vv --no-deps
number: 1

requirements:
host:
- python >=3.7
- pip
- wheel
- setuptools
- python
run:
- python >=3.7
- numpy
- scipy
- casadi
- prettytable
- urdfdom-py
- jax2torch

test:
source_files:
- tests
imports:
- adam
commands:
# Workaround for glibc <= 2.25 problems,
# See https://github.com/ami-iit/ADAM/pull/38#issuecomment-1546909762
- pytest ./tests/ -v -k "not gravity" # [not win]
- pytest ./tests/ -v --ignore-glob=*Jax* --ignore-glob=*pytorch* # [win]
requires:
- pip
- pytest
- icub-models
- gym-ignition-models
- pytorch # [not win]
- jax # [not win]
- idyntree
- git
- gitpython
- python

outputs:
- name: {{ name|lower }}
build:
noarch: python
script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
requirements:
host:
- python {{ python_min }}
- pip
- wheel
- setuptools
run:
- python >={{ python_min }}
- numpy
- scipy
- prettytable
- urdfdom-py
test:
source_files:
- tests
commands:
- pytest ./tests/ -v -k "not gravity" --ignore-glob=*Jax* --ignore-glob=*pytorch* --ignore-glob=*CasADi* --ignore-glob=*idyntree*
requires:
- python {{ python_min }}
- pip
- pytest
- icub-models
- gym-ignition-models
- idyntree
- git
- gitpython

- name: {{ name|lower }}-casadi
build:
noarch: python
requirements:
host:
- python {{ python_min }}
run:
- {{ pin_subpackage('adam-robotics', max_pin='x.x.x') }}
- casadi
- python >={{ python_min }}
test:
source_files:
- tests
commands:
- pytest ./tests/ -v -k "not gravity" --ignore-glob=*Jax* --ignore-glob=*pytorch*
requires:
- python {{ python_min }}
- pip
- pytest
- icub-models
- gym-ignition-models
- idyntree
- git
- gitpython
- casadi

- name: {{ name|lower }}-jax
build:
noarch: python
requirements:
host:
- python {{ python_min }}
run:
- {{ pin_subpackage('adam-robotics', max_pin='x.x.x') }}
- jax
- python >={{ python_min }}
test:
source_files:
- tests
commands:
- pytest ./tests/ -v -k "not gravity" --ignore-glob=*pytorch* --ignore-glob=*CasADi* --ignore-glob=*idyntree*
requires:
- python {{ python_min }}
- pip
- pytest
- icub-models
- gym-ignition-models
- idyntree
- git
- gitpython
- jax >0.3.0

- name: {{ name|lower }}-pytorch
build:
noarch: python
requirements:
host:
- python {{ python_min }}
run:
- {{ pin_subpackage('adam-robotics', max_pin='x.x.x') }}
- jax2torch
- pytorch
- python >={{ python_min }}
test:
source_files:
- tests
commands:
- pytest ./tests/ -v -k "not gravity" --ignore-glob=*Jax* --ignore-glob=*CasADi* --ignore-glob=*idyntree*
requires:
- python {{ python_min }}
- pip
- pytest
- icub-models
- gym-ignition-models
- idyntree
- git
- gitpython
- pytorch
- jax >0.3.0

- name: {{ name|lower }}-all
build:
noarch: python
requirements:
host:
- python {{ python_min }}
run:
- {{ pin_subpackage('adam-robotics-casadi', max_pin='x.x.x') }}
- {{ pin_subpackage('adam-robotics-jax', max_pin='x.x.x') }}
- {{ pin_subpackage('adam-robotics-pytorch', max_pin='x.x.x') }}
- python >={{ python_min }}
test:
source_files:
- tests
commands:
- pytest ./tests/ -v -k "not gravity"
- pytest ./tests/ -v -k "not gravity" --ignore-glob=*Jax*
requires:
- python {{ python_min }}
- pip
- pytest
- icub-models
- gym-ignition-models
- idyntree
- git
- gitpython
- casadi
- pytorch
- jax >0.3.0

about:
home: https://github.com/ami-iit/ADAM
Expand Down
5 changes: 0 additions & 5 deletions recipe/yum_requirements.txt

This file was deleted.