diff --git a/pkgs/development/python-modules/robot-descriptions/default.nix b/pkgs/development/python-modules/robot-descriptions/default.nix new file mode 100644 index 000000000000..065048ea3aca --- /dev/null +++ b/pkgs/development/python-modules/robot-descriptions/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + flit-core, + gitpython, + tqdm, + # idyntree, + mujoco, + pinocchio, + pybullet, + pycollada, + # robomeshcat, + yourdfpy, +}: + +buildPythonPackage rec { + pname = "robot-descriptions"; + version = "1.20.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "robot-descriptions"; + repo = "robot_descriptions.py"; + tag = "v${version}"; + hash = "sha256-8SBzhkENpUodnfObekkMPUsTQr/8mz27v3PK0S3IKO0="; + }; + + build-system = [ + flit-core + ]; + + dependencies = [ + gitpython + tqdm + pycollada + ]; + + optional-dependencies = { + opts = [ + # idyntree + mujoco + pinocchio + pybullet + # robomeshcat + yourdfpy + ]; + }; + + pythonImportsCheck = [ + "robot_descriptions" + ]; + + # This package needs to download a lot of data at runtime + doCheck = false; + + meta = { + description = "Access 125+ robot descriptions from the main Python robotics frameworks"; + homepage = "https://github.com/robot-descriptions/robot_descriptions.py"; + changelog = "https://github.com/robot-descriptions/robot_descriptions.py/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ nim65s ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6c570afcab40..58f783087bf6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15754,6 +15754,8 @@ self: super: with self; { robomachine = callPackage ../development/python-modules/robomachine { }; + robot-descriptions = callPackage ../development/python-modules/robot-descriptions { }; + robot-detection = callPackage ../development/python-modules/robot-detection { }; robotframework = callPackage ../development/python-modules/robotframework { };