1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools
5, pandas
6, pythonOlder
7}:
8
9buildPythonPackage rec {
10 pname = "pycatch22";
11 version = "0.4.4";
12 pyproject = true;
13
14 disabled = pythonOlder "3.7";
15
16 src = fetchFromGitHub {
17 owner = "DynamicsAndNeuralSystems";
18 repo = "pycatch22";
19 rev = "refs/tags/v${version}";
20 hash = "sha256-l41LLo9k075EL8rV48bwa4Yw12XuqNJSDYtd9kyqS3U=";
21 };
22
23 nativeBuildInputs = [
24 setuptools
25 ];
26
27 nativeCheckInputs = [
28 pandas
29 ];
30
31 # This packages does not have real tests
32 # But we can run this file as smoketest
33 checkPhase = ''
34 runHook preCheck
35
36 python tests/testing.py
37
38 runHook postCheck
39 '';
40
41 pythonImportsCheck = [
42 "pycatch22"
43 ];
44
45 meta = with lib; {
46 description = "Python implementation of catch22";
47 homepage = "https://github.com/DynamicsAndNeuralSystems/pycatch22";
48 changelog = "https://github.com/DynamicsAndNeuralSystems/pycatch22/releases/tag/v${version}";
49 license = licenses.gpl3Plus;
50 maintainers = with maintainers; [ mbalatsko ];
51 };
52}