about summary refs log tree commit diff
path: root/pkgs/development/python-modules
diff options
context:
space:
mode:
authorDrew Risinger <drewrisinger@users.noreply.github.com>2020-05-11 19:00:17 -0400
committerJon <jonringer@users.noreply.github.com>2020-05-14 16:45:56 -0700
commitec7dbdb74c0e74c8985836684dde836e6c5ea916 (patch)
tree3d3e31cbfa24dced53ace5399eeace8315642e93 /pkgs/development/python-modules
parentfc0390590261eb9a148e13ab424e5b097757b4e9 (diff)
downloadnixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.tar
nixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.tar.gz
nixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.tar.bz2
nixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.tar.lz
nixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.tar.xz
nixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.tar.zst
nixlib-ec7dbdb74c0e74c8985836684dde836e6c5ea916.zip
python3Packages.cirq: 0.6.1 -> 0.8.0
Diffstat (limited to 'pkgs/development/python-modules')
-rw-r--r--pkgs/development/python-modules/cirq/default.nix46
1 files changed, 30 insertions, 16 deletions
diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix
index 18c1e7f8c0de..98fc3b9ff058 100644
--- a/pkgs/development/python-modules/cirq/default.nix
+++ b/pkgs/development/python-modules/cirq/default.nix
@@ -3,7 +3,9 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, google_api_python_client
+, fetchpatch
+, freezegun
+, google_api_core
 , matplotlib
 , networkx
 , numpy
@@ -16,6 +18,7 @@
 , typing-extensions
   # test inputs
 , pytestCheckHook
+, pytest-asyncio
 , pytest-benchmark
 , ply
 , pydot
@@ -25,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "cirq";
-  version = "0.6.1";
+  version = "0.8.0";
 
   disabled = pythonOlder "3.5";
 
@@ -33,25 +36,29 @@ buildPythonPackage rec {
     owner = "quantumlib";
     repo = "cirq";
     rev = "v${version}";
-    sha256 = "0lhr2dka7vpz9xd6akxphrcv2b3ni2cgjywpc1r7qpqa5mrq1q7f";
+    sha256 = "01nnv7r595sp60wvp7750lfdjwdsi4q0r4lmaj6li09zsdw0r4b3";
   };
 
-  # Cirq 0.6 requires networkx==2.3 only for optional qiskit dependency/test, disable this to avoid networkx version conflicts. https://github.com/quantumlib/Cirq/issues/2368
+  patches = [
+    (fetchpatch {
+      # Fixes serialization issues on certain versions of protobuf & numpy.
+      name = "cirq-pr-2986-protobuf-bools.patch";
+      url = "https://github.com/quantumlib/Cirq/commit/78ddfb574c0f3936f713613bf4ba102163efb7b3.patch";
+      sha256 = "0hmad9ndsqf5ci7shvd924d2rv4k9pzx2r2cl1bm5w91arzz9m18";
+    })
+  ];
+
   # Cirq locks protobuf==3.8.0, but tested working with default pythonPackages.protobuf (3.7). This avoids overrides/pythonPackages.protobuf conflicts
   postPatch = ''
-    substituteInPlace requirements.txt --replace "networkx==2.3" "networkx" \
-      --replace "protobuf==3.8.0" "protobuf"
-
-    # Fix sympy 1.5 test failures. Should be fixed in v0.7
-    substituteInPlace cirq/optimizers/eject_phased_paulis_test.py --replace "phase_exponent=0.125 + x / 8" "phase_exponent=0.125 + x * 0.125"
-    substituteInPlace cirq/contrib/quirk/cells/parse_test.py --replace "parse_formula('5t') == 5 * t" "parse_formula('5t') == 5.0 * t"
-
-    # Fix pandas >= 1.0 error, #2886
-    substituteInPlace cirq/experiments/t1_decay_experiment.py --replace "del tab.columns.name" 'tab.rename_axis(None, axis="columns", inplace=True)'
+    substituteInPlace requirements.txt \
+      --replace "networkx~=2.4" "networkx" \
+      --replace "protobuf==3.8.0" "protobuf" \
+      --replace "freezegun~=0.3.15" "freezegun"
   '';
 
   propagatedBuildInputs = [
-    google_api_python_client
+    freezegun
+    google_api_core
     numpy
     matplotlib
     networkx
@@ -69,19 +76,26 @@ buildPythonPackage rec {
   dontUseSetuptoolsCheck = true;
   checkInputs = [
     pytestCheckHook
+    pytest-asyncio
     pytest-benchmark
     ply
     pydot
     pyyaml
     pygraphviz
   ];
-  # TODO: enable op_serializer_test. Error is type checking, for some reason wants bool instead of numpy.bool_. Not sure if protobuf or internal issue
+
   pytestFlagsArray = [
     "--ignore=dev_tools"  # Only needed when developing new code, which is out-of-scope
-    "--ignore=cirq/google/op_serializer_test.py"  # investigating in https://github.com/quantumlib/Cirq/issues/2727
   ];
   disabledTests = [
+    "test_serialize_sympy_constants"  # fails due to small error in pi (~10e-7)
     "test_convert_to_ion_gates" # fails due to rounding error, 0.75 != 0.750...2
+
+    # Newly disabled tests on cirq 0.8
+    # TODO: test & figure out why failing
+    "engine_job_test"
+    "test_health"
+    "test_run_delegation"
   ] ++ lib.optionals stdenv.isAarch64 [
     # Seem to fail due to math issues on aarch64?
     "expectation_from_wavefunction"