[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "rm75-ik-qp"
version = "0.3.0"
description = "Validated Pinocchio and OSQP inverse kinematics for RealMan RM75-B"
readme = "README.md"
requires-python = "==3.10.*"
dependencies = [
  "numpy==1.23.5",
  "scipy==1.10.1",
  "osqp==0.6.2.post8",
  "pin==2.6.20",
  "PyYAML==6.0.3",
  "mujoco==3.10.0",
  "Pillow==12.2.0",
  "Robotic_Arm==1.1.5",
]

[project.optional-dependencies]
test = ["pytest==7.4.4"]

[project.scripts]
rm75-stage1-validate = "rm75_ik.cli:main"
rm75-stage2-validate = "rm75_ik.stage2_cli:main"
rm75-stage2-demo = "rm75_ik.stage2_demo:main"
rm75-stage3-validate = "rm75_ik.stage3_cli:main"

[tool.setuptools]
package-dir = {"" = "src"}
data-files = {"share/rm75_ik/models" = ["kine_ctrl/urdf_rm75/RM75-B.urdf", "models/dual_arm_mujoco_fixed.urdf"], "share/rm75_ik/models/rm75_meshes" = ["kine_ctrl/urdf_rm75/meshes/*.STL"], "share/rm75_ik/models/dual_arm_obj" = ["models/dual_arm_obj/*.obj"]}

[tool.setuptools.packages.find]
where = ["src"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra"
