aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2024-12-02 09:04:58 +0100
committerRicardo Wurmus <rekado@elephly.net>2024-12-02 10:28:59 +0100
commit30c2403a85ad55ad0a594bb6d2a3e461b69cd149 (patch)
tree50c849c3eca5b059b4e11007ccc1c47c7a29cf43
parentca3a79ccee5f9a857e00128f11d04e3c1aef901a (diff)
downloadguix-30c2403a85ad55ad0a594bb6d2a3e461b69cd149.tar.gz
guix-30c2403a85ad55ad0a594bb6d2a3e461b69cd149.zip
gnu: Add python-cykhash.
* gnu/packages/python-xyz.scm (python-cykhash): New variable. Change-Id: I7f46da1f53b10957c102ca21e74f144955676730
-rw-r--r--gnu/packages/python-xyz.scm27
1 files changed, 27 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 433f6ec0fc..5d9d98e4c3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -8482,6 +8482,33 @@ Mallard using the @command{ducktype} tool. The yelp-tools package
provides additional functionality on the produced Mallard documents.")
(license license:expat)))
+(define-public python-cykhash
+ (package
+ (name "python-cykhash")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cykhash" version))
+ (sha256
+ (base32 "1xwpxff4whfvkwvcyhzhdcj5zzq89vvdjmnqy664s4a9yp4lnydl"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-cython
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/realead/cykhash")
+ (synopsis "Khash-sets and maps")
+ (description
+ "This package is a Cython wrapper for khash-sets/maps. It brings
+functionality of
+@url{https://github.com/attractivechaos/klib/blob/master/khash.h, khash} to
+Python and Cython and can be used seamlessly in numpy or pandas. Numpy's
+world is lacking the concept of a (hash-)set. This shortcoming is fixed and
+efficient (memory- and speedwise compared to pandas) @code{unique} and
+@code{isin} are implemented. Python-set/dict have a big memory-footprint.
+For some datatypes the overhead can be reduced by using khash by factor 4-8.")
+ (license license:expat)))
+
(define-public python-cython
(package
(name "python-cython")