1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 flit-core,
6 gitpython,
7 tqdm,
8 # idyntree,
9 mujoco,
10 pinocchio,
11 pybullet,
12 pycollada,
13 # robomeshcat,
14 yourdfpy,
15}:
16
17buildPythonPackage rec {
18 pname = "robot-descriptions";
19 version = "1.21.0";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "robot-descriptions";
24 repo = "robot_descriptions.py";
25 tag = "v${version}";
26 hash = "sha256-/NH9OaqWVzQ3XSLEJTLlpfeCmF1Iw2ItfyOIO3LuPT4=";
27 };
28
29 build-system = [
30 flit-core
31 ];
32
33 dependencies = [
34 gitpython
35 tqdm
36 pycollada
37 ];
38
39 optional-dependencies = {
40 opts = [
41 # idyntree
42 mujoco
43 pinocchio
44 pybullet
45 # robomeshcat
46 yourdfpy
47 ];
48 };
49
50 pythonImportsCheck = [
51 "robot_descriptions"
52 ];
53
54 # This package needs to download a lot of data at runtime
55 doCheck = false;
56
57 meta = {
58 description = "Access 125+ robot descriptions from the main Python robotics frameworks";
59 homepage = "https://github.com/robot-descriptions/robot_descriptions.py";
60 changelog = "https://github.com/robot-descriptions/robot_descriptions.py/blob/${src.rev}/CHANGELOG.md";
61 license = lib.licenses.asl20;
62 maintainers = with lib.maintainers; [ nim65s ];
63 };
64}