diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 17fdbc4d35..9d115790e1 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -24686,6 +24686,46 @@ (define-public python-ld runs on, such as a reliable machine-readable ID, or version information.") (license license:asl2.0))) +(define-public python-quicktions + (package + (name "python-quicktions") + (version "1.11") + (source + (origin + (method url-fetch) + (uri (pypi-uri "quicktions" version)) + (sha256 + (base32 + "1px21a6x527i1bsr2p6bbf3jziqpvd1vjkvvzh13gsy4iip0yvzn")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This file is generated by Cython. + (delete-file "src/quicktions.c") #t)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'cythonize-sources + (lambda _ + (with-directory-excursion "src" + (invoke "cython" "quicktions.pyx")))) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest")) + #t))))) + (native-inputs + `(("python-cython" ,python-cython) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/scoder/quicktions") + (synopsis "Fast fractions data type for rational numbers") + (description + "This package provides fast fractions data type for rational numbers. It +is the cythonized version of @code{fractions.Fraction}.") + (license license:psfl))) + (define-public python-pathvalidate (package (name "python-pathvalidate")