aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTroy Figiel <troy@troyfigiel.com>2024-01-07 18:06:10 +0100
committerMathieu Othacehe <othacehe@gnu.org>2024-01-09 10:19:43 +0100
commitfe9a30f2f662c8289d40c55979de43aee58a88e9 (patch)
tree4efe824ccdffca32f617bdc3c3c573555d3138bc
parent185ebc01f6122e0312202e53a5cf2dfaa85d6672 (diff)
downloadguix-fe9a30f2f662c8289d40c55979de43aee58a88e9.tar
guix-fe9a30f2f662c8289d40c55979de43aee58a88e9.tar.gz
gnu: Add python-multimethod.
* gnu/packages/python-xyz.scm (python-multimethod): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r--gnu/packages/python-xyz.scm24
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1ed0b24199..46a5e81cb4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31744,6 +31744,30 @@ graph can be output for rendering by GraphViz or yEd.")
function implementations based on the types of the arguments.")
(license license:bsd-3)))
+(define-public python-multimethod
+ (package
+ (name "python-multimethod")
+ (version "1.10")
+ (source
+ (origin
+ ;; No tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/coady/multimethod")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07xv92q7f4bkp6dzkqvcv0zxr11729qdak4s3ldmbhdwgsf44g5h"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/coady/multimethod")
+ (synopsis "Python support for multiple argument dispatching")
+ (description
+ "This package provides a decorator for adding multiple argument
+dispatching to functions. The decorator creates a multimethod object as
+needed and registers the function with its annotations.")
+ (license license:asl2.0)))
+
(define-public python-logical-unification
(package
(name "python-logical-unification")