python3Packages.viser: init at 1.0.0, python3Packages.yourdfpy: init at 0.0.58, python3Packages.plyfile: 1.0.2 -> 1.1.2, python3Packages.robot-descriptions: init at 1.2.0 (#421548)

This commit is contained in:
Gaétan Lepage
2025-08-02 01:15:32 +02:00
committed by GitHub
5 changed files with 294 additions and 7 deletions
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}
@@ -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";
};
}
+6
View File
@@ -15762,6 +15762,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 { };
@@ -19350,6 +19352,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 { };
@@ -19984,6 +19988,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 { };