1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 decorator,
7 numpy,
8 platformdirs,
9 typing-extensions,
10 pytestCheckHook,
11}:
12
13buildPythonPackage rec {
14 pname = "pytools";
15 version = "2024.1.6";
16 format = "setuptools";
17 disabled = pythonOlder "3.6";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-u9t1BrCWakShd8XlVWdb7OHmXhW7sRFPNwsiPgaTIrk=";
22 };
23
24 propagatedBuildInputs = [
25 decorator
26 numpy
27 platformdirs
28 ] ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ];
29
30 nativeCheckInputs = [ pytestCheckHook ];
31
32 pythonImportsCheck = [
33 "pytools"
34 "pytools.batchjob"
35 "pytools.lex"
36 ];
37
38 meta = {
39 homepage = "https://github.com/inducer/pytools/";
40 description = "Miscellaneous Python lifesavers";
41 license = lib.licenses.mit;
42 maintainers = with lib.maintainers; [ artuuge ];
43 };
44}