1{ lib
2, buildPythonPackage
3, fetchPypi
4, matchpy
5, pytestCheckHook
6, pythonOlder
7, pytools
8}:
9
10buildPythonPackage rec {
11 pname = "pymbolic";
12 version = "2022.1";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchPypi {
18 inherit pname version;
19 hash = "sha256-tS9FHdC5gD4D3jMgrzt85XIwcAYcbSMcACFvbaQlkBI=";
20 };
21
22 propagatedBuildInputs = [
23 pytools
24 ];
25
26 checkInputs = [
27 matchpy
28 pytestCheckHook
29 ];
30
31 postPatch = ''
32 # pytest is a test requirement not a run-time one
33 substituteInPlace setup.py \
34 --replace '"pytest>=2.3",' ""
35 '';
36
37 pythonImportsCheck = [
38 "pymbolic"
39 ];
40
41 meta = with lib; {
42 description = "A package for symbolic computation";
43 homepage = "https://documen.tician.de/pymbolic/";
44 license = licenses.mit;
45 maintainers = with maintainers; [ costrouc ];
46 };
47}