From 4ad43e6b4712a6620453c9d1aecf17a628571db5 Mon Sep 17 00:00:00 2001 From: Chris Pattison Date: Thu, 11 Aug 2022 11:36:32 +0200 Subject: [PATCH] python3Packages.stim: init at 1.9.0 --- .../python-modules/stim/default.nix | 67 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 69 insertions(+) create mode 100644 pkgs/development/python-modules/stim/default.nix diff --git a/pkgs/development/python-modules/stim/default.nix b/pkgs/development/python-modules/stim/default.nix new file mode 100644 index 000000000000..d17f3f6e34b0 --- /dev/null +++ b/pkgs/development/python-modules/stim/default.nix @@ -0,0 +1,67 @@ +{ lib +, pkgs +, buildPythonPackage +, pythonOlder +, pytestCheckHook +, pytest-xdist +, fetchFromGitHub +, numpy +, pybind11 +, cirq-core +, matplotlib +, networkx +, scipy +, pandas +}: + +buildPythonPackage rec { + pname = "stim"; + version = "1.9.0"; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + src = pkgs.fetchFromGitHub { + owner = "quantumlib"; + repo = "Stim"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-zXWdJjFkf74FCWxyVMF8dx0P8GmUkuHFxUo5wYNU2o0="; + }; + + propagatedBuildInputs = [ + numpy + pybind11 + ]; + + checkInputs = [ + pytestCheckHook + pytest-xdist + + cirq-core + matplotlib + networkx + scipy + pandas + ]; + + meta = { + description = "A tool for high performance simulation and analysis of quantum stabilizer circuits, especially quantum error correction (QEC) circuits."; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ chrispattison ]; + homepage = "https://github.com/quantumlib/stim"; + }; + + pythonImportsCheck = [ "stim" ]; + + enableParallelBuilding = true; + + disabledTestPaths = [ + # No pymatching + "glue/sample/src/sinter/main_test.py" + "glue/sample/src/sinter/decoding_test.py" + "glue/sample/src/sinter/predict_test.py" + "glue/sample/src/sinter/collection_test.py" + "glue/sample/src/sinter/collection_work_manager.py" + "glue/sample/src/sinter/worker_test.py" + ]; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3f94580e2664..798e7588266c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10339,6 +10339,8 @@ in { stickytape = callPackage ../development/python-modules/stickytape { }; + stim = callPackage ../development/python-modules/stim { }; + stm32loader = callPackage ../development/python-modules/stm32loader { }; stone = callPackage ../development/python-modules/stone { };