diff mbox series

[bug#50836,5/5] gnu: Add python-minikanren.

Message ID 20210927022011.30839-5-rprior@protonmail.com
State Accepted
Headers show
Series Python logic programming packages | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Ryan Prior Sept. 27, 2021, 2:20 a.m. UTC
gnu/packages/python-xyz.scm (python-minikanren): New variable.
---
 gnu/packages/python-xyz.scm | 46 +++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

--
2.33.0
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0b002c42dc..4437de6374 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -26677,6 +26677,52 @@  cons cells in Python.")
      "This library implements eval'able S-expression in Python using tuple-like objects.")
     (license license:asl2.0)))

+(define-public python-minikanren
+  (package
+    (name "python-minikanren")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pythological/kanren")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0g7wfj5hxalwz7k1301nsjqhjpzsif1bj6wjm2x2kavlm2ypv9jc"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "python" "-m" "pytest" "-v" "tests/" "kanren/"))
+                      #t)))))
+    (native-inputs
+     `(("python-coveralls" ,python-coveralls)
+       ("python-pydocstyle" ,python-pydocstyle)
+       ("python-pytest@6.2.4" ,python-pytest)
+       ("python-pytest-cov@2.8.1" ,python-pytest-cov)
+       ("python-pylint@2.5.3" ,python-pylint)
+       ("python-black@20.8b1" ,python-black)
+       ("python-sympy@1.7.1" ,python-sympy)
+       ("python-versioneer@0.19" ,python-versioneer)
+       ("python-coverage@5.2.1" ,python-coverage)
+       ("python-pre-commit@2.10.0" ,python-pre-commit)))
+    (propagated-inputs
+     `(("toolz@0.11.1" ,python-toolz)
+       ("cons" ,python-cons)
+       ("multipledispatch" ,python-multipledispatch)
+       ("etuples" ,python-etuples)
+       ("logical-unification" ,python-logical-unification)))
+    (home-page "https://github.com/pythological/kanren")
+    (synopsis "Relational logic programming in pure Python")
+    (description
+     "The minikanren library provides an algorithmic core for computer algebra
+systems in Python.")
+    (license license:bsd-3)))
+
+
 (define-public date2name
   (let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798")
         (revision "1"))