diff --git a/pkgs/development/python-modules/mjviser/default.nix b/pkgs/development/python-modules/mjviser/default.nix new file mode 100644 index 000000000000..508a3858097c --- /dev/null +++ b/pkgs/development/python-modules/mjviser/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + uv-build, + + # dependencies + mujoco, + numpy, + pillow, + trimesh, + viser, + + # tests + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "mjviser"; + version = "0.0.14"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "mujocolab"; + repo = "mjviser"; + tag = "v${finalAttrs.version}"; + hash = "sha256-LzltAgWKK84gQU4IlzKv7SClaUrLCdyU8vzHh4LIqDs="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail \ + "uv_build>=0.8.19,<0.9.0" \ + "uv_build" + ''; + + build-system = [ + uv-build + ]; + + dependencies = [ + mujoco + numpy + pillow + trimesh + viser + ]; + + pythonImportsCheck = [ "mjviser" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Web-based MuJoCo viewer powered by Viser"; + homepage = "https://github.com/mujocolab/mjviser"; + 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 b97ba72e97b2..1422960c85c9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10926,6 +10926,8 @@ self: super: with self; { mizani = callPackage ../development/python-modules/mizani { }; + mjviser = callPackage ../development/python-modules/mjviser { }; + mkdocs = callPackage ../development/python-modules/mkdocs { }; mkdocs-autolinks-plugin = callPackage ../development/python-modules/mkdocs-autolinks-plugin { };