mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add python-pyzx.
* gnu/packages/python-science.scm (python-pyzx): New variable. Change-Id: I69895a9deb5739db9c0d5e793e3f864c800f4504 Reviewed-by: @lilyp Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
parent
60828ad981
commit
e9b8d0653e
1 changed files with 53 additions and 0 deletions
|
@ -29,6 +29,7 @@
|
||||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
|
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
|
||||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
|
;;; Copyright © 2025 Mark Walker <mark.damon.walker@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -553,6 +554,58 @@ allows arithmetic operations between them and conversions from and to
|
||||||
different units.")
|
different units.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public python-pyzx
|
||||||
|
(package
|
||||||
|
(name "python-pyzx")
|
||||||
|
(version "0.9.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch) ; no tests in PyPI
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/zxcalc/pyzx")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "1bnmz08w1bmipir1wnn1k3fw64rply7891xns22qfj6yh0j1n6rj"))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
|
(arguments (list #:test-flags
|
||||||
|
#~(list
|
||||||
|
;; Ignore long running tests
|
||||||
|
"--ignore=tests/long_test.py"
|
||||||
|
"--ignore=tests/long_scalar_test.py")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-before 'check 'pre-check
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(setenv "HOME" "/tmp")
|
||||||
|
;; Matplotlib needs to be able to write its
|
||||||
|
;; configuration file somewhere.
|
||||||
|
(setenv "MPLCONFIGDIR" "/tmp"))))))
|
||||||
|
(native-inputs (list python-pytest
|
||||||
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
|
(propagated-inputs (list python-ipywidgets
|
||||||
|
python-lark
|
||||||
|
python-numpy
|
||||||
|
python-pyperclip
|
||||||
|
python-tqdm))
|
||||||
|
(home-page "https://github.com/zxcalc/pyzx")
|
||||||
|
(synopsis "Quantum circuit rewriting and optimisation using the ZX-calculus")
|
||||||
|
(description
|
||||||
|
"PyZX is a Python tool implementing the theory of ZX-calculus for the
|
||||||
|
creation, visualisation, and automated rewriting of large-scale quantum
|
||||||
|
circuits. PyZX currently allows you to:
|
||||||
|
|
||||||
|
@itemize
|
||||||
|
@item Read in quantum circuits in the file format of QASM, Quipper or Quantomatic;
|
||||||
|
@item Rewrite circuits into a pseudo-normal form using the ZX-calculus;
|
||||||
|
@item Extract new simplified circuits from these reduced graphs;
|
||||||
|
@item Visualise the ZX-graphs and rewrites using either Matplotlib, Quantomatic
|
||||||
|
or as a TikZ file for use in LaTeX documents;
|
||||||
|
@item Output the optimised circuits in QASM, QC or QUIPPER format.
|
||||||
|
@end itemize")
|
||||||
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public python-qdldl
|
(define-public python-qdldl
|
||||||
(package
|
(package
|
||||||
(name "python-qdldl")
|
(name "python-qdldl")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue