From 3bed2afb4c9246eab5a9099bad86e1794dd5794e Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Tue, 1 Jul 2025 18:03:17 +0200 Subject: [PATCH 1/4] python3Packages.plyfile: 1.0.2 -> 1.1.2 --- .../python-modules/plyfile/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/plyfile/default.nix b/pkgs/development/python-modules/plyfile/default.nix index d8379c5654ca..babf414c11a4 100644 --- a/pkgs/development/python-modules/plyfile/default.nix +++ b/pkgs/development/python-modules/plyfile/default.nix @@ -4,7 +4,7 @@ buildPythonPackage, # build-system - pdm-pep517, + pdm-backend, # dependencies numpy, @@ -15,25 +15,27 @@ buildPythonPackage rec { pname = "plyfile"; - version = "1.0.2"; + version = "1.1.2"; pyproject = true; src = fetchFromGitHub { owner = "dranjan"; repo = "python-plyfile"; tag = "v${version}"; - hash = "sha256-HlyqljfjuaZoG5f2cfDQj+7KS0en7pW2PPEnpvH8U+E="; + hash = "sha256-J72aoXEMcuHtYaLtzWJ5UGN9HdJTnQ1/8KgdMLtwyr0="; }; - nativeBuildInputs = [ pdm-pep517 ]; + build-system = [ pdm-backend ]; - propagatedBuildInputs = [ numpy ]; + dependencies = [ numpy ]; nativeCheckInputs = [ pytestCheckHook ]; - meta = with lib; { + pythonImportsCheck = [ "plyfile" ]; + + meta = { description = "NumPy-based text/binary PLY file reader/writer for Python"; homepage = "https://github.com/dranjan/python-plyfile"; - maintainers = with maintainers; [ abbradar ]; + maintainers = with lib.maintainers; [ abbradar ]; }; } From ce831d3f936811870e09bb0cc824fae31d31bdda Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Tue, 1 Jul 2025 18:11:55 +0200 Subject: [PATCH 2/4] python3Packages.yourdfpy: init at 0.0.58 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> --- .../python-modules/yourdfpy/default.nix | 63 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/python-modules/yourdfpy/default.nix diff --git a/pkgs/development/python-modules/yourdfpy/default.nix b/pkgs/development/python-modules/yourdfpy/default.nix new file mode 100644 index 000000000000..5647a170f037 --- /dev/null +++ b/pkgs/development/python-modules/yourdfpy/default.nix @@ -0,0 +1,63 @@ +{ + lib, + + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + setuptools-scm, + + # dependencies + lxml, + trimesh, + numpy, + six, + + # nativeCheckInputs + pytestCheckHook, + pytest-cov-stub, +}: + +buildPythonPackage rec { + pname = "yourdfpy"; + version = "0.0.58"; + pyproject = true; + + src = fetchFromGitHub { + owner = "clemense"; + repo = "yourdfpy"; + tag = "v${version}"; + hash = "sha256-Wi4QcgTOf/1nXWssFtlyRxql8Jg1nNKjEGkWuP+w73g="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + lxml + trimesh + numpy + six + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + ]; + + pythonImportsCheck = [ + "yourdfpy" + ]; + + meta = { + description = "Python parser for URDFs"; + homepage = "https://github.com/clemense/yourdfpy/"; + changelog = "https://github.com/clemense/yourdfpy/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ nim65s ]; + mainProgram = "yourdfpy"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e159aab5557c..6c570afcab40 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19976,6 +19976,8 @@ self: super: with self; { youless-api = callPackage ../development/python-modules/youless-api { }; + yourdfpy = callPackage ../development/python-modules/yourdfpy { }; + youseedee = callPackage ../development/python-modules/youseedee { }; youtokentome = callPackage ../development/python-modules/youtokentome { }; From 812639ec00bfc1c1c4ff8aed81b6725fc497f7c0 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Wed, 30 Jul 2025 14:13:37 +0200 Subject: [PATCH 3/4] python3Packages.robot-descriptions: init at 1.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com> --- .../robot-descriptions/default.nix | 64 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 66 insertions(+) create mode 100644 pkgs/development/python-modules/robot-descriptions/default.nix 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 { }; From 7857db2765e6f85931b316948c5edbb103adfb42 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Tue, 1 Jul 2025 17:58:36 +0200 Subject: [PATCH 4/4] python3Packages.viser: init at 1.0.0 --- .../python-modules/viser/default.nix | 152 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 154 insertions(+) create mode 100644 pkgs/development/python-modules/viser/default.nix diff --git a/pkgs/development/python-modules/viser/default.nix b/pkgs/development/python-modules/viser/default.nix new file mode 100644 index 000000000000..8ae02805aefb --- /dev/null +++ b/pkgs/development/python-modules/viser/default.nix @@ -0,0 +1,152 @@ +{ + lib, + + buildPythonPackage, + fetchFromGitHub, + + # nativeBuildInputs + nodejs, + fetchYarnDeps, + yarnConfigHook, + + # build-system + hatchling, + + # dependencies + imageio, + msgspec, + nodeenv, + numpy, + opencv-python, + plyfile, + psutil, + requests, + rich, + scikit-image, + scipy, + tqdm, + trimesh, + tyro, + websockets, + yourdfpy, + + # optional-dependencies + hypothesis, + pre-commit, + pandas, + pyright, + pytest, + ruff, + gdown, + matplotlib, + plotly, + # pyliblzfse, + robot-descriptions, + torch, + + # nativeCheckInputs + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "viser"; + version = "1.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "nerfstudio-project"; + repo = "viser"; + tag = "v${version}"; + hash = "sha256-itFJ9mlN2VaWbLzQp1ERMxBvXg0O7SMWzEWDdxoTA/0="; + }; + + postPatch = '' + # prepare yarn offline cache + mkdir -p node_modules + cd src/viser/client + cp package.json yarn.lock ../../.. + ln -s ../../../node_modules + + # fix: [vite-plugin-eslint] Failed to load config "react-app" to extend from. + substituteInPlace vite.config.mts --replace-fail \ + "eslint({ failOnError: false, failOnWarning: false })," "" + + cd ../../.. + ''; + + nativeBuildInputs = [ + yarnConfigHook + nodejs + ]; + + yarnOfflineCache = fetchYarnDeps { + yarnLock = src + "/src/viser/client/yarn.lock"; + hash = "sha256-4x+zJIqjVoKmEdOUPGpCuMmlRBfF++3oWtbNYAvd2ko="; + }; + + preBuild = '' + cd src/viser/client + yarn --offline build + cd ../../.. + ''; + + build-system = [ + hatchling + ]; + + dependencies = [ + imageio + msgspec + nodeenv + numpy + opencv-python + plyfile + psutil + requests + rich + scikit-image + scipy + tqdm + trimesh + tyro + websockets + yourdfpy + ]; + + optional-dependencies = { + dev = [ + hypothesis + pre-commit + pyright + pytest + ruff + ]; + examples = [ + gdown + matplotlib + pandas + plotly + plyfile + # pyliblzfse + robot-descriptions + torch + ]; + }; + + nativeCheckInputs = [ + hypothesis + pytestCheckHook + ]; + + pythonImportsCheck = [ + "viser" + ]; + + meta = { + changelog = "https://github.com/nerfstudio-project/viser/releases/tag/${src.tag}"; + description = "Web-based 3D visualization + Python"; + homepage = "https://github.com/nerfstudio-project/viser"; + 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 58f783087bf6..ab6506beee54 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19344,6 +19344,8 @@ self: super: with self; { virtualenvwrapper = callPackage ../development/python-modules/virtualenvwrapper { }; + viser = callPackage ../development/python-modules/viser { }; + visions = callPackage ../development/python-modules/visions { }; visitor = callPackage ../development/python-modules/visitor { };