1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 toolz,
6 cons,
7 multipledispatch,
8 etuples,
9 logical-unification,
10 py,
11 pytestCheckHook,
12 pytest-html,
13}:
14
15buildPythonPackage rec {
16 pname = "minikanren";
17 version = "1.0.3";
18 format = "setuptools";
19
20 src = fetchFromGitHub {
21 owner = "pythological";
22 repo = "kanren";
23 rev = "5aa9b1734cbb3fe072a7c72b46e1b72a174d28ac";
24 hash = "sha256-daAtREgm91634Q0mc0/WZivDiyZHC7TIRoGRo8hMnGE=";
25 };
26
27 propagatedBuildInputs = [
28 toolz
29 cons
30 multipledispatch
31 etuples
32 logical-unification
33 ];
34
35 nativeCheckInputs = [
36 py
37 pytestCheckHook
38 pytest-html
39 ];
40
41 pytestFlagsArray = [
42 "--html=testing-report.html"
43 "--self-contained-html"
44 ];
45
46 pythonImportsCheck = [ "kanren" ];
47
48 meta = with lib; {
49 description = "Relational programming in Python";
50 homepage = "https://github.com/pythological/kanren";
51 changelog = "https://github.com/pythological/kanren/releases";
52 license = licenses.bsd3;
53 maintainers = with maintainers; [ Etjean ];
54 };
55}