Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-cirq for openSUSE:Factory checked in at 2022-02-22 21:18:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-cirq (Old) and /work/SRC/openSUSE:Factory/.python-cirq.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cirq" Tue Feb 22 21:18:12 2022 rev:4 rq:956628 version:0.13.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-cirq/python-cirq.changes 2021-11-21 23:52:42.602150814 +0100 +++ /work/SRC/openSUSE:Factory/.python-cirq.new.1958/python-cirq.changes 2022-02-22 21:18:49.326293185 +0100 @@ -1,0 +2,12 @@ +Mon Feb 21 04:26:32 UTC 2022 - Ben Greiner <c...@bnavigator.de> + +- Update to v0.13.1 + * Big Changelog since v0.9: + https://github.com/quantumlib/Cirq/releases + * Breaking API and usability changes + * New modular structure: main metapackage with standalone + subpackages as dependencies +- cirq-rigetti disabled for now: not all dependencies are available +- add 4873.patch gh#quantumlib/Cirq#4873 -- pandas compatibility + +------------------------------------------------------------------- Old: ---- Cirq-0.9.1.tar.gz New: ---- 4873.patch Cirq-0.13.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-cirq.spec ++++++ --- /var/tmp/diff_new_pack.LlX0a2/_old 2022-02-22 21:18:50.098293327 +0100 +++ /var/tmp/diff_new_pack.LlX0a2/_new 2022-02-22 21:18:50.102293329 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-cirq # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,57 +16,93 @@ # +%{?!python_module:%define python_module() python3-%{**}} %define packagename Cirq %define skip_python2 1 -%define skip_python36 1 -%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define plainpython python +# not all requirements available right now +%bcond_with rigetti +%define cirqmodules core aqt google ionq pasqal web %{?_with_rigetty:rigetty} Name: python-cirq -Version: 0.9.1 +Version: 0.13.1 Release: 0 Summary: Library for writing quantum circuits License: Apache-2.0 URL: https://github.com/quantumlib/Cirq Source: https://github.com/quantumlib/Cirq/archive/v%{version}.tar.gz#/%{packagename}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM - https://github.com/quantumlib/Cirq/issues/4379 -Patch1: 4636.patch -BuildRequires: %{python_module PyLaTeX} -BuildRequires: %{python_module freezegun >= 0.3.15} -BuildRequires: %{python_module google-api-core >= 1.14.0} +# PATCH-FIX-UPSTREAM 4636.patch gh#quantumlib/Cirq#4379 mc...@suse.com +# Fix t_hilbert_schmidt_inner_product_is_positive_definite to work on aarch64 as well +Patch0: 4636.patch +# PATCH-FIX-UPSTREAM 4873.patch gh#quantumlib/Cirq#4873 +Patch1: https://github.com/quantumlib/Cirq/pull/4873.patch +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +# SECTION cirq-core +BuildRequires: %{python_module duet >= 0.2} BuildRequires: %{python_module matplotlib >= 3.0} BuildRequires: %{python_module networkx >= 2.4} BuildRequires: %{python_module numpy >= 1.16} BuildRequires: %{python_module pandas} -BuildRequires: %{python_module ply} -BuildRequires: %{python_module protobuf >= 3.12.0} -BuildRequires: %{python_module pyquil} -BuildRequires: %{python_module pytest-asyncio} -BuildRequires: %{python_module pytest-benchmark} -BuildRequires: %{python_module pytest} -BuildRequires: %{python_module quimb} -BuildRequires: %{python_module requests >= 2.18} BuildRequires: %{python_module scipy} -BuildRequires: %{python_module setuptools} BuildRequires: %{python_module sortedcontainers >= 2.0} BuildRequires: %{python_module sympy} +BuildRequires: %{python_module tqdm} BuildRequires: %{python_module typing_extensions} -BuildRequires: fdupes -BuildRequires: python-rpm-macros -Requires: python-PyLaTeX -Requires: python-freezegun >= 0.3.15 -Requires: python-google-api-core >= 1.14.0 -Requires: python-matplotlib >= 3.0 -Requires: python-networkx >= 2.4 -Requires: python-numpy >= 1.16 -Requires: python-pandas -Requires: python-ply -Requires: python-protobuf >= 3.12.0 -Requires: python-pyquil -Requires: python-quimb -Requires: python-requests >= 2.18 -Requires: python-scipy -Requires: python-sortedcontainers >= 2.0 -Requires: python-sympy -Requires: python-typing_extensions +# /SECTION +# SECTION cirq-aqt, cirq-ionq, cirq-pasqal +BuildRequires: %{python_module requests >= 2.18} +# /SECTION +# SECTION cirq-google +BuildRequires: %{python_module google-api-core >= 1.14.0} +BuildRequires: %{python_module protobuf >= 3.12.0} +# google-api-core[grpc] +BuildRequires: %{python_module grpcio} +# /SECTION +%if %{with rigetti} +BuildRequires: %{python_module attrs >= 20.3} +BuildRequires: %{python_module certifi >= 2021.5.30} +BuildRequires: %{python_module h11 >= 0.9.0} +BuildRequires: %{python_module httpcore >= 0.11.1} +BuildRequires: %{python_module httpx >= 0.15.5} +BuildRequires: %{python_module idna >= 2.10} +BuildRequires: %{python_module iso8601 >= 0.1.14} +BuildRequires: %{python_module pydantic >= 1.8.2} +BuildRequires: %{python_module pyjwt >= 1.7.1} +BuildRequires: %{python_module pyquil >= 3.0.0} +BuildRequires: %{python_module python-dateutil >= 2.8.1} +BuildRequires: %{python_module qcs-api-client >= 0.8.0} +BuildRequires: %{python_module retrying >= 1.3.3} +BuildRequires: %{python_module rfc3339 >= 6.2} +BuildRequires: %{python_module rfc3986 >= 1.5.0} +BuildRequires: %{python_module six >= 1.16.0} +BuildRequires: %{python_module sniffio >= 1.2.0} +BuildRequires: %{python_module toml >= 0.10.2} +%endif +# SECTION cirq-core/contrib +BuildRequires: %{python_module ply} +BuildRequires: %{python_module PyLaTeX >= 1.3.0} +BuildRequires: %{python_module numba >= 0.53} +BuildRequires: %{python_module pyquil} +BuildRequires: %{python_module quimb} +# /SECTION +# SECTION test +BuildRequires: %{python_module flynt >= 0.60} +BuildRequires: %{python_module filelock} +BuildRequires: %{python_module freezegun >= 0.3.15} +BuildRequires: %{python_module pytest-asyncio} +BuildRequires: %{python_module pytest} +#/SECTION +Requires: %plainpython(abi) = %python_version +Requires: python-cirq-aqt +Requires: python-cirq-core +Requires: python-cirq-google +Requires: python-cirq-ionq +Requires: python-cirq-pasqal +Requires: python-cirq-web +%if %{with rigetti} +Requires: python-cirq-rigetti +%endif # quimb does not support 32 bit arch. ExcludeArch: %ix86 %arm ppc BuildArch: noarch @@ -77,25 +113,182 @@ quantum circuits and then running them against quantum computers and simulators. +This metapackage requires all circ subpackages + +%package core +Summary: Cirq quantum algorithms for NISQ devices +Requires: python-duet >= 0.2.0 +Requires: python-matplotlib >= 3.0 +Requires: python-networkx >= 2.4 +Requires: python-numpy >= 1.16 +Requires: python-pandas +Requires: python-scipy +Requires: python-sortedcontainers >= 2.0 +Requires: python-sympy +Requires: python-tqdm +Requires: python-typing_extensions + +%description core +Cirq is a Python library for writing, manipulating, and optimizing quantum +circuits and running them against quantum computers and simulators. + +This module contains everything you'd need to write quantum algorithms for NISQ devices and run them on the built-in Cirq simulators. +In order to run algorithms on a given quantum hardware platform, you'll have to install the right cirq module as well. + +%package aqt +Summary: Cirq quantum algorithms on AQT quantum computers +Requires: python-cirq-core = %{version} +Requires: python-requests >= 2.18 + +%description aqt +A Cirq package to simulate and connect to Alpine Quantum Technologies quantum computers + +%package ionq +Summary: Cirq quantum algorithms on IonQ quantum computers +Requires: python-cirq-core = %{version} +Requires: python-requests >= 2.18 + +%description ionq +A Cirq package to simulate and connect to IonQ quantum computers + +%package pasqal +Summary: Cirq quantum algorithms on Pasqal quantum computers +Requires: python-cirq-core = %{version} +Requires: python-requests >= 2.18 + +%description pasqal +A Cirq package to simulate and connect to Pasqal quantum computers + +%package google +Summary: Cirq package for Google Quantum Computing Service1 +Requires: python-cirq-core = %{version} +Requires: python-google-api-core >= 1.14.0 +# google-api-core[grpc] +Requires: python-grpcio +Requires: python-protobuf >= 3.13.0 + +%description google +A Cirq module that provides tools and access to the Google Quantum Computing Service + +%package web +Summary: Web-based 3D visualization tools for Cirq + +%description web +Cirq is a Python library for writing, manipulating, and optimizing quantum +circuits and running them against quantum computers and simulators. + +This package allows users to take advantage of browser based 3D visualization tools +and features in Cirq. cirq-web also provides a development environment for contributors to create and add +their own visualizations to the module. + +%package rigetti +Summary: A Cirq package to simulate and connect to Rigetti quantum computers and Quil QVM +Requires: python-attrs >= 20.3 +Requires: python-certifi >= 2021.5.30 +Requires: python-cirq-core = %{version} +Requires: python-h11 >= 0.9.0 +Requires: python-httpcore >= 0.11.1 +Requires: python-httpx >= 0.15.5 +Requires: python-idna >= 2.10 +Requires: python-iso8601 >= 0.1.14 +Requires: python-pydantic >= 1.8.2 +Requires: python-pyjwt >= 1.7.1 +Requires: python-pyquil >= 3.0.0 +Requires: python-python-dateutil >= 2.8.1 +Requires: python-qcs-api-client >= 0.8.0 +Requires: python-retrying >= 1.3.3 +Requires: python-rfc3339 >= 6.2 +Requires: python-rfc3986 >= 1.5.0 +Requires: python-six >= 1.16.0 +Requires: python-sniffio >= 1.2.0 +Requires: python-toml >= 0.10.2 + +%description rigetti +Cirq is a Python library for writing, manipulating, and optimizing quantum +circuits and running them against quantum computers and simulators. + +This module provides everything you'll need to run Cirq quantum algorithms on Rigetti quantum computers. + %prep -%setup -q -n %{packagename}-%{version} -%patch1 -p2 +%autosetup -p1 -n %{packagename}-%{version} %build +for p in %cirqmodules; do + pushd cirq-$p + %python_build + popd +done %python_build %install +for p in %cirqmodules; do + pushd cirq-$p + %python_install + popd +done %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -# The test failed, but has no effect on package validity. gh#quantumlib/Cirq#3154 -%pytest --ignore dev_tools/bash_scripts_test.py +# tests assume testfiles and import path to be the same, but we test BUILDROOT +donttest="test_json_test_data_coverage" +donttest="$donttest or test_json_and_repr_data" +# mock error +donttest="$donttest or test_get_engine_sampler" +for p in %cirqmodules; do + pushd cirq-$p + %pytest -k "not ($donttest)" + popd +done %files %{python_files} %doc README.rst %license LICENSE -%{python_sitelib}/*egg-info +%{python_sitelib}/cirq-%{version}*-info + +%files %{python_files core} +%doc cirq-core/README.rst +%license cirq-core/LICENSE %{python_sitelib}/cirq +%{python_sitelib}/cirq_core-%{version}*-info + +%files %{python_files aqt} +%doc cirq-aqt/README.rst +%license cirq-aqt/LICENSE +%{python_sitelib}/cirq_aqt +%{python_sitelib}/cirq_aqt-%{version}*-info + +%files %{python_files ionq} +%doc cirq-ionq/README.rst +%license cirq-ionq/LICENSE +%{python_sitelib}/cirq_ionq +%{python_sitelib}/cirq_ionq-%{version}*-info + +%files %{python_files pasqal} +%doc cirq-pasqal/README.rst +%license cirq-pasqal/LICENSE +%{python_sitelib}/cirq_pasqal +%{python_sitelib}/cirq_pasqal-%{version}*-info + +%files %{python_files google} +%doc cirq-google/README.rst +%license cirq-google/LICENSE +%{python_sitelib}/cirq_google +%{python_sitelib}/cirq_google-%{version}*-info + +%files %{python_files web} +%doc cirq-web/README.rst +%license cirq-web/LICENSE +%{python_sitelib}/cirq_ts +%{python_sitelib}/cirq_web +%{python_sitelib}/cirq_web-%{version}*-info + +%if %{with rigetti} +%files %{python_files rigetti} +%doc cirq-rigetti/README.rst +%license cirq-rigetti/LICENSE +%{python_sitelib}/cirq_rigetti +%{python_sitelib}/cirq_rigetti-%{version}*-info +%endif %changelog ++++++ 4636.patch ++++++ --- /var/tmp/diff_new_pack.LlX0a2/_old 2022-02-22 21:18:50.134293335 +0100 +++ /var/tmp/diff_new_pack.LlX0a2/_new 2022-02-22 21:18:50.142293336 +0100 @@ -5,14 +5,12 @@ architectures --- - cirq-core/cirq/linalg/operator_spaces_test.py | 4 +++- + cirq-core/cirq/linalg/operator_spaces_test.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/cirq-core/cirq/linalg/operator_spaces_test.py b/cirq-core/cirq/linalg/operator_spaces_test.py -index fe1f41757eb..fc2a0c719f9 100644 --- a/cirq-core/cirq/linalg/operator_spaces_test.py +++ b/cirq-core/cirq/linalg/operator_spaces_test.py -@@ -175,7 +175,9 @@ def test_hilbert_schmidt_inner_product_is_linear(a, m1, b, m2): +@@ -175,7 +175,9 @@ def test_hilbert_schmidt_inner_product_i @pytest.mark.parametrize('m', (I, X, Y, Z, H, SQRT_X, SQRT_Y, SQRT_Z)) def test_hilbert_schmidt_inner_product_is_positive_definite(m): v = cirq.hilbert_schmidt_inner_product(m, m) ++++++ 4873.patch ++++++ >From f20efa3f2c0be5497156ff997dcac5b47a4f7462 Mon Sep 17 00:00:00 2001 From: Michael Broughton <mbbro...@google.com> Date: Sat, 22 Jan 2022 11:58:19 -0800 Subject: [PATCH 1/2] Updated numpy 1.16 -> 1.19. --- cirq-core/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cirq-core/requirements.txt b/cirq-core/requirements.txt index 1a53e051051..b8822f4e3b5 100644 --- a/cirq-core/requirements.txt +++ b/cirq-core/requirements.txt @@ -6,7 +6,7 @@ dataclasses; python_version < '3.7' duet~=0.2.0 matplotlib~=3.0 networkx~=2.4 -numpy~=1.16 +numpy~=1.19 pandas sortedcontainers~=2.0 scipy >From 8f31245d8469adab19a1b8aaf1162193fcbe9f69 Mon Sep 17 00:00:00 2001 From: Michael Broughton <mbbro...@google.com> Date: Sat, 22 Jan 2022 12:53:47 -0800 Subject: [PATCH 2/2] fix bad usage in pandas. --- cirq-core/cirq/experiments/t2_decay_experiment.py | 2 +- cirq-core/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cirq-core/cirq/experiments/t2_decay_experiment.py b/cirq-core/cirq/experiments/t2_decay_experiment.py index 81568adb411..6c17f74e2aa 100644 --- a/cirq-core/cirq/experiments/t2_decay_experiment.py +++ b/cirq-core/cirq/experiments/t2_decay_experiment.py @@ -425,7 +425,7 @@ def plot_bloch_vector(self, ax: Optional[plt.Axes] = None, **plot_kwargs: Any) - # by squaring <X> and <Y> expectation values bloch_vector = self._expectation_pauli_x ** 2 + self._expectation_pauli_y ** 2 - ax.plot(self._expectation_pauli_x['delay_ns'], bloch_vector, 'r+-', **plot_kwargs) + ax.plot(self._expectation_pauli_x['delay_ns'], bloch_vector['value'], 'r+-', **plot_kwargs) ax.set_xlabel(r"Delay between initialization and measurement (nanoseconds)") ax.set_ylabel('Bloch Vector X-Y Projection Squared') ax.set_title('T2 Decay Experiment Data') diff --git a/cirq-core/requirements.txt b/cirq-core/requirements.txt index b8822f4e3b5..1a53e051051 100644 --- a/cirq-core/requirements.txt +++ b/cirq-core/requirements.txt @@ -6,7 +6,7 @@ dataclasses; python_version < '3.7' duet~=0.2.0 matplotlib~=3.0 networkx~=2.4 -numpy~=1.19 +numpy~=1.16 pandas sortedcontainers~=2.0 scipy ++++++ Cirq-0.9.1.tar.gz -> Cirq-0.13.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/python-cirq/Cirq-0.9.1.tar.gz /work/SRC/openSUSE:Factory/.python-cirq.new.1958/Cirq-0.13.1.tar.gz differ: char 12, line 1