anchor.diff:  , scipy
   , sortedcontainers
   , sympy
  +, tqdm
   , typing-extensions
     # test inputs
  +, freezegun
   , pytestCheckHook
   , pytest-asyncio
   , pytest-benchmark
  
positive.code:     owner = "quantumlib";
      repo = "cirq";
      rev = "v${version}";
      sha256 = "0mygvpq7kzga8l1w2jvwv9a2n3akpss45hrx250gdrnqjp6xrw64";
    };
  
    postPatch = ''
      substituteInPlace requirements.txt \
        --replace "freezegun~=0.3.15" "freezegun" \
        --replace "matplotlib~=3.0" "matplotlib" \
        --replace "networkx~=2.4" "networkx" \
        --replace "numpy~=1.16" "numpy" \
        --replace "protobuf~=3.12.0" "protobuf"
  
      # Fix serialize_sympy_constants test by allowing small errors in pi
      substituteInPlace cirq/google/arg_func_langs_test.py \
        --replace "'float_value': float(str(np.float32(sympy.pi)))" "'float_value': pytest.approx(float(str(np.float32(sympy.pi))))"
    '';
  
    propagatedBuildInputs = [
      freezegun
      google-api-core
      numpy
      matplotlib
      networkx
      pandas
      protobuf
      requests
      scipy
      sortedcontainers
      sympy
      typing-extensions
    ];
  
    doCheck = true;
    # pythonImportsCheck = [ "cirq" "cirq.Circuit" ];  # cirq's importlib hook doesn't work here
    dontUseSetuptoolsCheck = true;
    checkInputs = [
      pytestCheckHook
      pytest-asyncio
      pytest-benchmark
      ply
  
negative.code: 
  buildPythonPackage rec {
    pname = "cirq";
    version = "0.10.0";
  
    disabled = pythonOlder "3.6";
  
  