1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 numpy,
6 scipy,
7 sympy,
8 setuptools,
9 pytestCheckHook,
10 cython,
11 fetchpatch2,
12}:
13
14buildPythonPackage rec {
15 pname = "pydy";
16 version = "0.7.1";
17 pyproject = true;
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-aaRinJMGR8v/OVkeSp1hA4+QLOrmDWq50wvA6b/suvk=";
22 };
23
24 build-system = [ setuptools ];
25
26 patches = [
27 # Migrate tests to pytest
28 (fetchpatch2 {
29 url = "https://github.com/pydy/pydy/commit/e679638fecf80def25f5ed20f01c49c5d931e4d8.patch?full_index=1";
30 hash = "sha256-wJmYkyc5Yh0152OyNL5ZbZJxmpX7C65Hqrms4gm3zt0=";
31 excludes = [
32 ".github/workflows/oldest.yml"
33 ".github/workflows/tests.yml"
34 "bin/test"
35 ];
36 })
37 ];
38
39 dependencies = [
40 numpy
41 scipy
42 sympy
43 ];
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 cython
48 ];
49
50 pythonImportsCheck = [ "pydy" ];
51
52 meta = {
53 description = "Python tool kit for multi-body dynamics";
54 homepage = "http://pydy.org";
55 license = lib.licenses.bsd3;
56 maintainers = with lib.maintainers; [ sigmanificient ];
57 };
58}