summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/cirq/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/cirq/default.nix')
-rw-r--r--pkgs/development/python-modules/cirq/default.nix110
1 files changed, 12 insertions, 98 deletions
diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix
index f0b576299b21..f8afdcbbb050 100644
--- a/pkgs/development/python-modules/cirq/default.nix
+++ b/pkgs/development/python-modules/cirq/default.nix
@@ -1,114 +1,28 @@
-{ stdenv
-, lib
+{ lib
, buildPythonPackage
-, pythonOlder
-, fetchFromGitHub
-, google-api-core
-, matplotlib
-, networkx
-, numpy
-, pandas
-, protobuf
-, requests
-, scipy
-, sortedcontainers
-, sympy
-, tqdm
-, typing-extensions
+, cirq-core
+, cirq-google
# test inputs
-, freezegun
, pytestCheckHook
-, pytest-asyncio
-, pytest-benchmark
-, ply
-, pydot
-, pyyaml
-, pygraphviz
}:
buildPythonPackage rec {
pname = "cirq";
- version = "0.10.0";
-
- disabled = pythonOlder "3.6";
-
- src = fetchFromGitHub {
- owner = "quantumlib";
- repo = "cirq";
- rev = "v${version}";
- sha256 = "0xinml44n2lfl0q2lb2apmn69gsszlwim83082f66vyk0gpwd4lr";
- };
-
- postPatch = ''
- substituteInPlace requirements.txt \
- --replace "matplotlib~=3.0" "matplotlib" \
- --replace "networkx~=2.4" "networkx" \
- --replace "numpy~=1.16" "numpy" \
- --replace "protobuf~=3.13.0" "protobuf"
- '';
+ inherit (cirq-core) version src meta;
propagatedBuildInputs = [
- google-api-core
- matplotlib
- networkx
- numpy
- pandas
- protobuf
- requests
- scipy
- sortedcontainers
- sympy
- tqdm
- typing-extensions
+ cirq-core
+ cirq-google
];
# pythonImportsCheck = [ "cirq" "cirq.Circuit" ]; # cirq's importlib hook doesn't work here
- checkInputs = [
- pytestCheckHook
- freezegun
- pytest-asyncio
- pytest-benchmark
- ply
- pydot
- pyyaml
- pygraphviz
- ];
+ checkInputs = [ pytestCheckHook ];
- pytestFlagsArray = [
- "--ignore=dev_tools" # Only needed when developing new code, which is out-of-scope
- "--ignore=cirq/contrib/" # requires external (unpackaged) python packages, so untested.
- "--benchmark-disable" # Don't need to run benchmarks when packaging.
- ];
- disabledTests = lib.optionals stdenv.isAarch64 [
- # Seem to fail due to math issues on aarch64?
- "expectation_from_wavefunction"
- "test_single_qubit_op_to_framed_phase_form_output_on_example_case"
- ] ++ [
- # slow tests, for quicker building
- "test_anneal_search_method_calls"
- "test_density_matrix_from_state_tomography_is_correct"
- "test_example_runs_qubit_characterizations"
- "test_example_runs_hello_line_perf"
- "test_example_runs_bc_mean_field_perf"
- "test_main_loop"
- "test_clifford_circuit_2"
- "test_decompose_specific_matrices"
- "test_two_qubit_randomized_benchmarking"
- "test_kak_decomposition_perf"
- "test_example_runs_simon"
- "test_decompose_random_unitary"
- "test_decompose_size_special_unitary"
- "test_api_retry_5xx_errors"
- "test_xeb_fidelity"
- "test_example_runs_phase_estimator_perf"
- "test_cross_entropy_benchmarking"
+ # Don't run submodule or development tool tests
+ disabledTestPaths = [
+ "cirq-google"
+ "cirq-core"
+ "dev_tools"
];
- meta = with lib; {
- description = "A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.";
- homepage = "https://github.com/quantumlib/cirq";
- changelog = "https://github.com/quantumlib/Cirq/releases/tag/v${version}";
- license = licenses.asl20;
- maintainers = with maintainers; [ drewrisinger ];
- };
}