gnu: Add python-cykhash.

* gnu/packages/python-xyz.scm (python-cykhash): New variable.

Change-Id: I7f46da1f53b10957c102ca21e74f144955676730
This commit is contained in:
Ricardo Wurmus 2024-12-02 09:04:58 +01:00
parent ca3a79ccee
commit 30c2403a85
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -8482,6 +8482,33 @@ (define-public mallard-ducktype
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")