diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7e1f16649c..a661b1403f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -31683,3 +31683,35 @@ (define-public python-cymem when the object is garbage collected.") (license license:expat))) +(define-public python-preshed + (package + (name "python-preshed") + (version "3.0.6") + (source (origin + (method url-fetch) + (uri (pypi-uri "preshed" version)) + (sha256 + (base32 + "0akpydd23xqxx9d04drsnw9140rb3cv07r1zpzqz5wm0lf47afzv")))) + (build-system python-build-system) + (native-inputs (list python-cython python-cymem python-pytest)) + (inputs (list python python-cymem python-murmurhash)) + (arguments + (list #:modules + '((ice-9 ftw) (ice-9 match) + (guix build utils) + (guix build python-build-system)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-source-file-times-to-1980 + (lambda _ + (let ((circa-1980 (* 10 366 24 60 60))) + (ftw "." + (lambda (file stat flag) + (utime file circa-1980 circa-1980) #t)))))))) + (home-page "https://github.com/explosion/preshed") + (synopsis "Cython hash tables that assume keys are pre-hashed") + (description + "Simple but high performance Cython hash table mapping pre-randomized keys +to void* values.") + (license license:expat)))