1{ lib
2, buildPythonPackage
3, fetchPypi
4, setuptools
5, pythonOlder
6, numpy
7, lxml
8}:
9
10buildPythonPackage rec {
11 pname = "trimesh";
12 version = "3.23.5";
13 format = "pyproject";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-vf1mnszEs/r/IyggCklAjNXsrZ8ZtgIsSttVS7s6JiE=";
20 };
21
22 nativeBuildInputs = [ setuptools ];
23
24 propagatedBuildInputs = [ numpy ];
25
26 nativeCheckInputs = [ lxml ];
27
28 checkPhase = ''
29 # Disable test_load because requires loading models which aren't part of the tarball
30 substituteInPlace tests/test_minimal.py --replace "test_load" "disable_test_load"
31 python tests/test_minimal.py
32 '';
33
34 pythonImportsCheck = [ "trimesh" ];
35
36 meta = with lib; {
37 description = "Python library for loading and using triangular meshes";
38 homepage = "https://trimsh.org/";
39 changelog = "https://github.com/mikedh/trimesh/releases/tag/${version}";
40 license = licenses.mit;
41 maintainers = with maintainers; [ gebner ];
42 };
43}