2023-02-02T21:36:13,411 Created temporary directory: /tmp/pip-ephem-wheel-cache-vsqoamdz
2023-02-02T21:36:13,414 Created temporary directory: /tmp/pip-build-tracker-y9gge8si
2023-02-02T21:36:13,414 Initialized build tracking at /tmp/pip-build-tracker-y9gge8si
2023-02-02T21:36:13,414 Created build tracker: /tmp/pip-build-tracker-y9gge8si
2023-02-02T21:36:13,414 Entered build tracker: /tmp/pip-build-tracker-y9gge8si
2023-02-02T21:36:13,415 Created temporary directory: /tmp/pip-wheel-9trqbplo
2023-02-02T21:36:13,418 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453
2023-02-02T21:36:13,420 Created temporary directory: /tmp/pip-ephem-wheel-cache-iep4z9n3
2023-02-02T21:36:13,447 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
2023-02-02T21:36:13,450 2 location(s) to search for versions of quantum-gates:
2023-02-02T21:36:13,450 * https://pypi.org/simple/quantum-gates/
2023-02-02T21:36:13,450 * https://www.piwheels.org/simple/quantum-gates/
2023-02-02T21:36:13,451 Fetching project page and analyzing links: https://pypi.org/simple/quantum-gates/
2023-02-02T21:36:13,451 Getting page https://pypi.org/simple/quantum-gates/
2023-02-02T21:36:13,453 Found index url https://pypi.org/simple
2023-02-02T21:36:13,505 Fetched page https://pypi.org/simple/quantum-gates/ as application/vnd.pypi.simple.v1+json
2023-02-02T21:36:13,507 Found link https://files.pythonhosted.org/packages/aa/3f/9847c7a7632d39bd15dbbf35b3c488375d55467c495d77b3ee45d0f96530/quantum-gates-0.1.0.tar.gz (from https://pypi.org/simple/quantum-gates/) (requires-python:>=3.9), version: 0.1.0
2023-02-02T21:36:13,507 Skipping link: No binaries permitted for quantum-gates: https://files.pythonhosted.org/packages/32/42/af7fffecf8e9d4589a97d98888600d445ac8aa601eb409073a1b57d7c1e8/quantum_gates-0.1.0-py3-none-any.whl (from https://pypi.org/simple/quantum-gates/) (requires-python:>=3.9)
2023-02-02T21:36:13,508 Found link https://files.pythonhosted.org/packages/c3/3d/75868bcd7fb640ff6766a01a01808eb4ba9ee705c2367426886f6d991214/quantum-gates-1.0.1.tar.gz (from https://pypi.org/simple/quantum-gates/) (requires-python:>=3.9), version: 1.0.1
2023-02-02T21:36:13,508 Skipping link: No binaries permitted for quantum-gates: https://files.pythonhosted.org/packages/52/26/1b9175d9c8a7b99d8286100d3cce5ccd888e35d956df8d26eddd54980ce1/quantum_gates-1.0.1-py3-none-any.whl (from https://pypi.org/simple/quantum-gates/) (requires-python:>=3.9)
2023-02-02T21:36:13,509 Found link https://files.pythonhosted.org/packages/77/e3/7a0bed808806378c0a3305f6125c61e091da081f619e34b0c0bcecc4ad6f/quantum-gates-1.0.2.tar.gz (from https://pypi.org/simple/quantum-gates/) (requires-python:>=3.9), version: 1.0.2
2023-02-02T21:36:13,509 Skipping link: No binaries permitted for quantum-gates: https://files.pythonhosted.org/packages/61/89/92284c3091cade2db4a02741e0f4304fe8d85c5f2d04d07871bfc54ba3d0/quantum_gates-1.0.2-py3-none-any.whl (from https://pypi.org/simple/quantum-gates/) (requires-python:>=3.9)
2023-02-02T21:36:13,509 Fetching project page and analyzing links: https://www.piwheels.org/simple/quantum-gates/
2023-02-02T21:36:13,510 Getting page https://www.piwheels.org/simple/quantum-gates/
2023-02-02T21:36:13,511 Found index url https://www.piwheels.org/simple
2023-02-02T21:36:13,676 Fetched page https://www.piwheels.org/simple/quantum-gates/ as text/html
2023-02-02T21:36:13,677 Skipping link: No binaries permitted for quantum-gates: https://www.piwheels.org/simple/quantum-gates/quantum_gates-1.0.1-py3-none-any.whl#sha256=bfd74823d4fd7ab2b687b47667536f63b20fe9ae7ced3292f748c4970afdbe89 (from https://www.piwheels.org/simple/quantum-gates/) (requires-python:>=3.9)
2023-02-02T21:36:13,678 Skipping link: No binaries permitted for quantum-gates: https://www.piwheels.org/simple/quantum-gates/quantum_gates-0.1.0-py3-none-any.whl#sha256=8eb62bdb7f6aa105aca1a99632d5d5b2a7991140344f4637be275696057d5bd0 (from https://www.piwheels.org/simple/quantum-gates/) (requires-python:>=3.9)
2023-02-02T21:36:13,678 Skipping link: not a file: https://www.piwheels.org/simple/quantum-gates/
2023-02-02T21:36:13,678 Skipping link: not a file: https://pypi.org/simple/quantum-gates/
2023-02-02T21:36:13,696 Given no hashes to check 1 links for project 'quantum-gates': discarding no candidates
2023-02-02T21:36:13,713 Collecting quantum-gates==1.0.2
2023-02-02T21:36:13,715 Created temporary directory: /tmp/pip-unpack-0x9qg6uf
2023-02-02T21:36:13,933 Downloading quantum-gates-1.0.2.tar.gz (51 kB)
2023-02-02T21:36:14,111 Added quantum-gates==1.0.2 from https://files.pythonhosted.org/packages/77/e3/7a0bed808806378c0a3305f6125c61e091da081f619e34b0c0bcecc4ad6f/quantum-gates-1.0.2.tar.gz to build tracker '/tmp/pip-build-tracker-y9gge8si'
2023-02-02T21:36:14,118 Created temporary directory: /tmp/pip-build-env-mnkngukg
2023-02-02T21:36:14,125 Installing build dependencies: started
2023-02-02T21:36:14,126 Running command pip subprocess to install build dependencies
2023-02-02T21:36:15,322 Using pip 22.3 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)
2023-02-02T21:36:15,733 DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453
2023-02-02T21:36:15,757 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
2023-02-02T21:36:17,405 Collecting setuptools>=42
2023-02-02T21:36:17,523 Using cached https://www.piwheels.org/simple/setuptools/setuptools-67.1.0-py3-none-any.whl (1.1 MB)
2023-02-02T21:36:17,791 Collecting wheel
2023-02-02T21:36:17,810 Using cached https://www.piwheels.org/simple/wheel/wheel-0.38.4-py3-none-any.whl (36 kB)
2023-02-02T21:36:17,947 Collecting flit_core<4,>=3.2
2023-02-02T21:36:17,968 Using cached https://www.piwheels.org/simple/flit-core/flit_core-3.8.0-py3-none-any.whl (62 kB)
2023-02-02T21:36:20,002 Installing collected packages: wheel, setuptools, flit_core
2023-02-02T21:36:20,155 Creating /tmp/pip-build-env-mnkngukg/overlay/bin
2023-02-02T21:36:20,158 changing mode of /tmp/pip-build-env-mnkngukg/overlay/bin/wheel to 755
2023-02-02T21:36:22,762 Successfully installed flit_core-3.8.0 setuptools-67.1.0 wheel-0.38.4
2023-02-02T21:36:22,777 [notice] A new release of pip available: 22.3 -> 23.0
2023-02-02T21:36:22,778 [notice] To update, run: python3 -m pip install --upgrade pip
2023-02-02T21:36:23,041 Installing build dependencies: finished with status 'done'
2023-02-02T21:36:23,046 Getting requirements to build wheel: started
2023-02-02T21:36:23,047 Running command Getting requirements to build wheel
2023-02-02T21:36:23,753 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:23,754 !!
2023-02-02T21:36:23,754 ##########################################################################
2023-02-02T21:36:23,755 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:23,755 ##########################################################################
2023-02-02T21:36:23,755 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:23,755 `readme = '# Noisy Quantum Gates [![Made at QMTS!](https://img.shields.io/badge/University%20of%20Trieste-Bassi%20Group-brightgreen)](http://www.qmts.it/) [![Made at CERN!](https://img.shields.io/badge/CERN-CERN%20openlab-brightgreen)](https://openlab.cern/) [![Made at CERN!](https://img.shields.io/badge/CERN-Open%20Source-%232980b9.svg)](https://home.cern) [![Made at CERN!](https://img.shields.io/badge/CERN-QTI-blue)](https://quantum.cern/our-governance)\n\nImplementation of the Noisy Quantum Gates model, which is soon to be published. It is a novel method to simulate the noisy behaviour of quantum devices by incorporating the noise directly in the gates, which become stochastic matrices. \n\n\n## Documentations\nThe documentation for Noisy Quantum Gates can be accessed on the website \n Read the Docs.\n\n\n## How to install\n### Requirements\nThe Python version should be 3.9 or later. Find your Python version by typing `python` or `python3` in the CLI. \nWe recommend using the repo together with an [IBM Quantum Lab](https://quantum-computing.ibm.com/lab) account, \nas it necessary for circuit compilation with Qiskit in many cases. \n\n\n### Installation as a user\nThe library is available on the Python Package Index (PyPI) with `pip install quantum-gates`. \n\n\n### Installation as a contributor\nFor users who want to have control over the source code, we recommend the following installation. Clone the repository \nfrom [Github](https://github.com/CERN-IT-INNOVATION/quantum-gates), create a new virtual environment, and activate the \nenvironment. Then you can build the wheel and install it with the package manager of your choice as described in the \nsection [How to contribute](#how-to-contribute). This will install all dependencies in your virtual environment, \nand install a working version of the library.\n\n\n## Quickstart\nExecute the following code in a script or notebook. Add your IBM token to by defining it as the variable \nIBM_TOKEN = "your_token". \n\n```python\n# Standard libraries\nimport numpy as np\nimport json\n\n# Qiskit\nfrom qiskit import QuantumCircuit, transpile\nfrom qiskit.visualization import plot_histogram\n\n# Own library\nfrom quantum_gates.simulators import MrAndersonSimulator\nfrom quantum_gates.gates import standard_gates\nfrom quantum_gates.circuits import EfficientCircuit\nfrom quantum_gates.utilities import DeviceParameters\nfrom quantum_gates.utilities import setup_backend\nIBM_TOKEN = ""\n```\nWe create a quantum circuit with Qiskit. \n\n```python\ncirc = QuantumCircuit(2,2)\ncirc.h(0)\ncirc.cx(0,1)\ncirc.barrier(range(2))\ncirc.measure(range(2),range(2))\ncirc.draw(\'mpl\')\n```\n\nWe load the configuration from a json file or from code with\n```python\nconfig = {\n "backend": {\n "hub": "ibm-q",\n "group": "open",\n "project": "main",\n "device_name": "ibmq_manila"\n },\n "run": {\n "shots": 1000,\n "qubits_layout": [0, 1],\n "psi0": [1, 0, 0, 0]\n }\n}\n```\n... and setup the Qiskit backend used for the circuit transpilation.\n\n```python\nbackend_config = config["backend"]\nbackend = setup_backend(Token=IBM_TOKEN, **backend_config)\nrun_config = config["run"]\n```\n\nThis allows us to load the device parameters, which represent the noise of the quantum hardware. \n```python\nqubits_layout = run_config["qubits_layout"]\ndevice_param = DeviceParameters(qubits_layout)\ndevice_param.load_from_backend(backend)\ndevice_param_lookup = device_param.__dict__()\n```\n\nLast, we perform the simulation ... \n```python\nsim = MrAndersonSimulator(gates=standard_gates, CircuitClass=EfficientCircuit)\n\nt_circ = transpile(\n circ,\n backend,\n scheduling_method=\'asap\',\n initial_layout=qubits_layout,\n seed_transpiler=42\n)\n\nprobs = sim.run(\n t_qiskit_circ=t_circ, \n qubits_layout=qubits_layout, \n psi0=np.array(run_config["psi0"]), \n shots=run_config["shots"], \n device_param=device_param_lookup,\n nqubit=2)\n\ncounts_ng = {format(i, \'b\').zfill(2): probs[i] for i in range(0, 4)}\n```\n... and analyse the result. \n\n```python\nplot_histogram(counts_ng, bar_labels=False, legend=[\'Noisy Gates simulation\'])\n```\n\n\n# Usage\nWe recommend to read the [overview](https://quantum-gates.readthedocs.io/en/latest/index.html) of the documentation as a 2-minute preparation. \n\n\n## Imports\nThere are two ways of importing the package. 1) If you installed the code with pip, then the imports are simply of the form seen in the [Quickstart](<#quickstart>). \n\n```python\nfrom quantum_gates.simulators import MrAndersonSimulator\nfrom quantum_gates.gates import standard_gates\nfrom quantum_gates.circuits import EfficientCircuit\nfrom quantum_gates.utilities import DeviceParameters, setup_backend\n```\n\n2) If you use the source code directly and develop within the repository, then the imports become\n\n```python\nfrom src.quantum_gates._simulation.simulator import MrAndersonSimulator\nfrom src.quantum_gates._gates.gates import standard_gates\nfrom src.quantum_gates._simulation.circuit import EfficientCircuit\nfrom src.quantum_gates._utility.device_parameters import (\n DeviceParameters, \n setup_backend\n)\n``` \n\n\n# Functionality\nThe main components are the [gates](https://quantum-gates.readthedocs.io/en/latest/gates.html), \nand the [simulator](https://quantum-gates.readthedocs.io/en/latest/simulators.html). \nOne can configure the gates with different [pulse shapes](https://quantum-gates.readthedocs.io/en/latest/pulses.html>), \nand the simulator with different [circuit classes](https://quantum-gates.readthedocs.io/en/latest/circuits.html>) and \n[backends](https://quantum-gates.readthedocs.io/en/latest/backends.html). The circuit classes use a specific \nbackend for the statevector simulation. \nThe [EfficientBackend](https://quantum-gates.readthedocs.io/en/latest/backends.html) has the same functionality as \nthe [StandardBackend](https://quantum-gates.readthedocs.io/en/latest/backends.html), but is much more performant \nthanks to optimized tensor contraction algorithms. We also provide various\n[quantum algorithms](https://quantum-gates.readthedocs.io/en/latest/quantum_algorithms.html) as circuits, and \nscripts to run the circuits with the simulator, the IBM simulator, and a real IBM backend. Last, all functionality is \nunit tested and one can get sample code from the unit tests.\n\n\n# How to contribute\nContributions are welcomed and should apply the usual git-flow: fork this repo, create a local branch named \n\'feature-...\'. Commit often to ensure that each commit is easy to understand. Name your commits \n\'[feature-...] Commit message.\', such that it possible to differentiate the commits of different features in the \nmain line. Request a merge to the mainline often. Please remember to follow the \n[PEP 8 style guide](https://peps.python.org/pep-0008/), and add comments whenever it helps. The corresponding \n[authors](<#authors>) are happy to support you. \n\n\n## Build \nYou may also want to create your own distribution and test it. Navigate to the repository in your CLI of choice. \nBuild the wheel with the command `python3 -m build --sdist --wheel .` and navigate to the distribution with `cd dist`. \nUse `ls` to display the name of the wheel, and run `pip install .whl` with the correct filename. \nNow you can use your version of the library. \n\n\n# Authors\nThis project has been developed thanks to the effort of the following people:\n\n* Giovanni Di Bartolomeo (dibartolomeo.giov@gmail.com)\n* Michele Vischi (vischimichele@gmail.com)\n* Francesco Cesa\n* Michele Grossi (michele.grossi@cern.ch) \n* Sandro Donadi\n* Angelo Bassi \n* Roman Wixinger (roman.wixinger@gmail.com)\n'`
2023-02-02T21:36:23,756 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:23,756 consider this value unless 'readme' is listed as `dynamic`.
2023-02-02T21:36:23,756 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:23,757 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:23,757 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:23,757 follow strictly the standard.
2023-02-02T21:36:23,757 To prevent this warning, you can list 'readme' under `dynamic` or alternatively
2023-02-02T21:36:23,757 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:23,757 configuration.
2023-02-02T21:36:23,758 !!
2023-02-02T21:36:23,758 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:23,758 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'requires-python' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:23,758 !!
2023-02-02T21:36:23,759 ##########################################################################
2023-02-02T21:36:23,759 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:23,759 ##########################################################################
2023-02-02T21:36:23,759 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:23,759 `requires-python = '>=3.9'`
2023-02-02T21:36:23,760 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:23,760 consider this value unless 'requires-python' is listed as `dynamic`.
2023-02-02T21:36:23,760 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:23,760 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:23,760 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:23,760 follow strictly the standard.
2023-02-02T21:36:23,761 To prevent this warning, you can list 'requires-python' under `dynamic` or alternatively
2023-02-02T21:36:23,761 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:23,761 configuration.
2023-02-02T21:36:23,761 !!
2023-02-02T21:36:23,762 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:23,762 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:23,762 !!
2023-02-02T21:36:23,762 ##########################################################################
2023-02-02T21:36:23,762 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:23,762 ##########################################################################
2023-02-02T21:36:23,763 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:23,763 `license = 'MIT'`
2023-02-02T21:36:23,763 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:23,763 consider this value unless 'license' is listed as `dynamic`.
2023-02-02T21:36:23,764 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:23,764 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:23,764 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:23,764 follow strictly the standard.
2023-02-02T21:36:23,764 To prevent this warning, you can list 'license' under `dynamic` or alternatively
2023-02-02T21:36:23,764 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:23,765 configuration.
2023-02-02T21:36:23,765 !!
2023-02-02T21:36:23,765 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:23,765 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:23,765 !!
2023-02-02T21:36:23,766 ##########################################################################
2023-02-02T21:36:23,766 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:23,766 ##########################################################################
2023-02-02T21:36:23,766 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:23,767 `classifiers = ['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Topic :: Scientific/Engineering :: Mathematics']`
2023-02-02T21:36:23,767 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:23,767 consider this value unless 'classifiers' is listed as `dynamic`.
2023-02-02T21:36:23,767 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:23,767 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:23,768 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:23,768 follow strictly the standard.
2023-02-02T21:36:23,768 To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively
2023-02-02T21:36:23,768 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:23,768 configuration.
2023-02-02T21:36:23,769 !!
2023-02-02T21:36:23,769 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:23,973 running egg_info
2023-02-02T21:36:23,978 writing src/quantum_gates.egg-info/PKG-INFO
2023-02-02T21:36:23,981 writing dependency_links to src/quantum_gates.egg-info/dependency_links.txt
2023-02-02T21:36:23,984 writing requirements to src/quantum_gates.egg-info/requires.txt
2023-02-02T21:36:23,985 writing top-level names to src/quantum_gates.egg-info/top_level.txt
2023-02-02T21:36:24,005 reading manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:24,011 reading manifest template 'MANIFEST.in'
2023-02-02T21:36:24,022 adding license file 'LICENSE'
2023-02-02T21:36:24,026 writing manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:24,123 Getting requirements to build wheel: finished with status 'done'
2023-02-02T21:36:24,133 Created temporary directory: /tmp/pip-modern-metadata-8ajrfkkz
2023-02-02T21:36:24,136 Preparing metadata (pyproject.toml): started
2023-02-02T21:36:24,137 Running command Preparing metadata (pyproject.toml)
2023-02-02T21:36:24,769 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:24,769 !!
2023-02-02T21:36:24,770 ##########################################################################
2023-02-02T21:36:24,770 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:24,770 ##########################################################################
2023-02-02T21:36:24,770 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:24,771 `readme = '# Noisy Quantum Gates [![Made at QMTS!](https://img.shields.io/badge/University%20of%20Trieste-Bassi%20Group-brightgreen)](http://www.qmts.it/) [![Made at CERN!](https://img.shields.io/badge/CERN-CERN%20openlab-brightgreen)](https://openlab.cern/) [![Made at CERN!](https://img.shields.io/badge/CERN-Open%20Source-%232980b9.svg)](https://home.cern) [![Made at CERN!](https://img.shields.io/badge/CERN-QTI-blue)](https://quantum.cern/our-governance)\n\nImplementation of the Noisy Quantum Gates model, which is soon to be published. It is a novel method to simulate the noisy behaviour of quantum devices by incorporating the noise directly in the gates, which become stochastic matrices. \n\n\n## Documentations\nThe documentation for Noisy Quantum Gates can be accessed on the website \n Read the Docs.\n\n\n## How to install\n### Requirements\nThe Python version should be 3.9 or later. Find your Python version by typing `python` or `python3` in the CLI. \nWe recommend using the repo together with an [IBM Quantum Lab](https://quantum-computing.ibm.com/lab) account, \nas it necessary for circuit compilation with Qiskit in many cases. \n\n\n### Installation as a user\nThe library is available on the Python Package Index (PyPI) with `pip install quantum-gates`. \n\n\n### Installation as a contributor\nFor users who want to have control over the source code, we recommend the following installation. Clone the repository \nfrom [Github](https://github.com/CERN-IT-INNOVATION/quantum-gates), create a new virtual environment, and activate the \nenvironment. Then you can build the wheel and install it with the package manager of your choice as described in the \nsection [How to contribute](#how-to-contribute). This will install all dependencies in your virtual environment, \nand install a working version of the library.\n\n\n## Quickstart\nExecute the following code in a script or notebook. Add your IBM token to by defining it as the variable \nIBM_TOKEN = "your_token". \n\n```python\n# Standard libraries\nimport numpy as np\nimport json\n\n# Qiskit\nfrom qiskit import QuantumCircuit, transpile\nfrom qiskit.visualization import plot_histogram\n\n# Own library\nfrom quantum_gates.simulators import MrAndersonSimulator\nfrom quantum_gates.gates import standard_gates\nfrom quantum_gates.circuits import EfficientCircuit\nfrom quantum_gates.utilities import DeviceParameters\nfrom quantum_gates.utilities import setup_backend\nIBM_TOKEN = ""\n```\nWe create a quantum circuit with Qiskit. \n\n```python\ncirc = QuantumCircuit(2,2)\ncirc.h(0)\ncirc.cx(0,1)\ncirc.barrier(range(2))\ncirc.measure(range(2),range(2))\ncirc.draw(\'mpl\')\n```\n\nWe load the configuration from a json file or from code with\n```python\nconfig = {\n "backend": {\n "hub": "ibm-q",\n "group": "open",\n "project": "main",\n "device_name": "ibmq_manila"\n },\n "run": {\n "shots": 1000,\n "qubits_layout": [0, 1],\n "psi0": [1, 0, 0, 0]\n }\n}\n```\n... and setup the Qiskit backend used for the circuit transpilation.\n\n```python\nbackend_config = config["backend"]\nbackend = setup_backend(Token=IBM_TOKEN, **backend_config)\nrun_config = config["run"]\n```\n\nThis allows us to load the device parameters, which represent the noise of the quantum hardware. \n```python\nqubits_layout = run_config["qubits_layout"]\ndevice_param = DeviceParameters(qubits_layout)\ndevice_param.load_from_backend(backend)\ndevice_param_lookup = device_param.__dict__()\n```\n\nLast, we perform the simulation ... \n```python\nsim = MrAndersonSimulator(gates=standard_gates, CircuitClass=EfficientCircuit)\n\nt_circ = transpile(\n circ,\n backend,\n scheduling_method=\'asap\',\n initial_layout=qubits_layout,\n seed_transpiler=42\n)\n\nprobs = sim.run(\n t_qiskit_circ=t_circ, \n qubits_layout=qubits_layout, \n psi0=np.array(run_config["psi0"]), \n shots=run_config["shots"], \n device_param=device_param_lookup,\n nqubit=2)\n\ncounts_ng = {format(i, \'b\').zfill(2): probs[i] for i in range(0, 4)}\n```\n... and analyse the result. \n\n```python\nplot_histogram(counts_ng, bar_labels=False, legend=[\'Noisy Gates simulation\'])\n```\n\n\n# Usage\nWe recommend to read the [overview](https://quantum-gates.readthedocs.io/en/latest/index.html) of the documentation as a 2-minute preparation. \n\n\n## Imports\nThere are two ways of importing the package. 1) If you installed the code with pip, then the imports are simply of the form seen in the [Quickstart](<#quickstart>). \n\n```python\nfrom quantum_gates.simulators import MrAndersonSimulator\nfrom quantum_gates.gates import standard_gates\nfrom quantum_gates.circuits import EfficientCircuit\nfrom quantum_gates.utilities import DeviceParameters, setup_backend\n```\n\n2) If you use the source code directly and develop within the repository, then the imports become\n\n```python\nfrom src.quantum_gates._simulation.simulator import MrAndersonSimulator\nfrom src.quantum_gates._gates.gates import standard_gates\nfrom src.quantum_gates._simulation.circuit import EfficientCircuit\nfrom src.quantum_gates._utility.device_parameters import (\n DeviceParameters, \n setup_backend\n)\n``` \n\n\n# Functionality\nThe main components are the [gates](https://quantum-gates.readthedocs.io/en/latest/gates.html), \nand the [simulator](https://quantum-gates.readthedocs.io/en/latest/simulators.html). \nOne can configure the gates with different [pulse shapes](https://quantum-gates.readthedocs.io/en/latest/pulses.html>), \nand the simulator with different [circuit classes](https://quantum-gates.readthedocs.io/en/latest/circuits.html>) and \n[backends](https://quantum-gates.readthedocs.io/en/latest/backends.html). The circuit classes use a specific \nbackend for the statevector simulation. \nThe [EfficientBackend](https://quantum-gates.readthedocs.io/en/latest/backends.html) has the same functionality as \nthe [StandardBackend](https://quantum-gates.readthedocs.io/en/latest/backends.html), but is much more performant \nthanks to optimized tensor contraction algorithms. We also provide various\n[quantum algorithms](https://quantum-gates.readthedocs.io/en/latest/quantum_algorithms.html) as circuits, and \nscripts to run the circuits with the simulator, the IBM simulator, and a real IBM backend. Last, all functionality is \nunit tested and one can get sample code from the unit tests.\n\n\n# How to contribute\nContributions are welcomed and should apply the usual git-flow: fork this repo, create a local branch named \n\'feature-...\'. Commit often to ensure that each commit is easy to understand. Name your commits \n\'[feature-...] Commit message.\', such that it possible to differentiate the commits of different features in the \nmain line. Request a merge to the mainline often. Please remember to follow the \n[PEP 8 style guide](https://peps.python.org/pep-0008/), and add comments whenever it helps. The corresponding \n[authors](<#authors>) are happy to support you. \n\n\n## Build \nYou may also want to create your own distribution and test it. Navigate to the repository in your CLI of choice. \nBuild the wheel with the command `python3 -m build --sdist --wheel .` and navigate to the distribution with `cd dist`. \nUse `ls` to display the name of the wheel, and run `pip install .whl` with the correct filename. \nNow you can use your version of the library. \n\n\n# Authors\nThis project has been developed thanks to the effort of the following people:\n\n* Giovanni Di Bartolomeo (dibartolomeo.giov@gmail.com)\n* Michele Vischi (vischimichele@gmail.com)\n* Francesco Cesa\n* Michele Grossi (michele.grossi@cern.ch) \n* Sandro Donadi\n* Angelo Bassi \n* Roman Wixinger (roman.wixinger@gmail.com)\n'`
2023-02-02T21:36:24,771 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:24,771 consider this value unless 'readme' is listed as `dynamic`.
2023-02-02T21:36:24,771 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:24,772 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:24,772 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:24,772 follow strictly the standard.
2023-02-02T21:36:24,772 To prevent this warning, you can list 'readme' under `dynamic` or alternatively
2023-02-02T21:36:24,772 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:24,772 configuration.
2023-02-02T21:36:24,773 !!
2023-02-02T21:36:24,773 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:24,773 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'requires-python' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:24,773 !!
2023-02-02T21:36:24,774 ##########################################################################
2023-02-02T21:36:24,774 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:24,774 ##########################################################################
2023-02-02T21:36:24,774 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:24,774 `requires-python = '>=3.9'`
2023-02-02T21:36:24,775 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:24,775 consider this value unless 'requires-python' is listed as `dynamic`.
2023-02-02T21:36:24,775 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:24,775 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:24,775 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:24,776 follow strictly the standard.
2023-02-02T21:36:24,776 To prevent this warning, you can list 'requires-python' under `dynamic` or alternatively
2023-02-02T21:36:24,776 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:24,776 configuration.
2023-02-02T21:36:24,776 !!
2023-02-02T21:36:24,777 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:24,777 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:24,777 !!
2023-02-02T21:36:24,777 ##########################################################################
2023-02-02T21:36:24,777 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:24,778 ##########################################################################
2023-02-02T21:36:24,778 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:24,778 `license = 'MIT'`
2023-02-02T21:36:24,778 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:24,778 consider this value unless 'license' is listed as `dynamic`.
2023-02-02T21:36:24,779 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:24,779 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:24,779 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:24,779 follow strictly the standard.
2023-02-02T21:36:24,780 To prevent this warning, you can list 'license' under `dynamic` or alternatively
2023-02-02T21:36:24,780 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:24,780 configuration.
2023-02-02T21:36:24,780 !!
2023-02-02T21:36:24,780 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:24,780 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:24,781 !!
2023-02-02T21:36:24,781 ##########################################################################
2023-02-02T21:36:24,781 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:24,781 ##########################################################################
2023-02-02T21:36:24,781 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:24,782 `classifiers = ['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Topic :: Scientific/Engineering :: Mathematics']`
2023-02-02T21:36:24,782 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:24,782 consider this value unless 'classifiers' is listed as `dynamic`.
2023-02-02T21:36:24,782 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:24,783 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:24,783 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:24,783 follow strictly the standard.
2023-02-02T21:36:24,783 To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively
2023-02-02T21:36:24,783 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:24,783 configuration.
2023-02-02T21:36:24,784 !!
2023-02-02T21:36:24,784 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:24,978 running dist_info
2023-02-02T21:36:24,985 creating /tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info
2023-02-02T21:36:24,989 writing /tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/PKG-INFO
2023-02-02T21:36:24,993 writing dependency_links to /tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/dependency_links.txt
2023-02-02T21:36:24,996 writing requirements to /tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/requires.txt
2023-02-02T21:36:24,998 writing top-level names to /tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/top_level.txt
2023-02-02T21:36:25,000 writing manifest file '/tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:25,019 reading manifest file '/tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:25,021 reading manifest template 'MANIFEST.in'
2023-02-02T21:36:25,032 adding license file 'LICENSE'
2023-02-02T21:36:25,036 writing manifest file '/tmp/pip-modern-metadata-8ajrfkkz/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:25,038 creating '/tmp/pip-modern-metadata-8ajrfkkz/quantum_gates-1.0.2.dist-info'
2023-02-02T21:36:25,177 Preparing metadata (pyproject.toml): finished with status 'done'
2023-02-02T21:36:25,184 Source in /tmp/pip-wheel-9trqbplo/quantum-gates_6660e12cfc26443191998965769d8598 has version 1.0.2, which satisfies requirement quantum-gates==1.0.2 from https://files.pythonhosted.org/packages/77/e3/7a0bed808806378c0a3305f6125c61e091da081f619e34b0c0bcecc4ad6f/quantum-gates-1.0.2.tar.gz
2023-02-02T21:36:25,185 Removed quantum-gates==1.0.2 from https://files.pythonhosted.org/packages/77/e3/7a0bed808806378c0a3305f6125c61e091da081f619e34b0c0bcecc4ad6f/quantum-gates-1.0.2.tar.gz from build tracker '/tmp/pip-build-tracker-y9gge8si'
2023-02-02T21:36:25,192 Created temporary directory: /tmp/pip-unpack-nqrc4ia2
2023-02-02T21:36:25,193 Building wheels for collected packages: quantum-gates
2023-02-02T21:36:25,198 Created temporary directory: /tmp/pip-wheel-sdp32tbm
2023-02-02T21:36:25,198 Destination directory: /tmp/pip-wheel-sdp32tbm
2023-02-02T21:36:25,200 Building wheel for quantum-gates (pyproject.toml): started
2023-02-02T21:36:25,201 Running command Building wheel for quantum-gates (pyproject.toml)
2023-02-02T21:36:25,818 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:25,819 !!
2023-02-02T21:36:25,819 ##########################################################################
2023-02-02T21:36:25,819 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:25,819 ##########################################################################
2023-02-02T21:36:25,820 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:25,820 `readme = '# Noisy Quantum Gates [![Made at QMTS!](https://img.shields.io/badge/University%20of%20Trieste-Bassi%20Group-brightgreen)](http://www.qmts.it/) [![Made at CERN!](https://img.shields.io/badge/CERN-CERN%20openlab-brightgreen)](https://openlab.cern/) [![Made at CERN!](https://img.shields.io/badge/CERN-Open%20Source-%232980b9.svg)](https://home.cern) [![Made at CERN!](https://img.shields.io/badge/CERN-QTI-blue)](https://quantum.cern/our-governance)\n\nImplementation of the Noisy Quantum Gates model, which is soon to be published. It is a novel method to simulate the noisy behaviour of quantum devices by incorporating the noise directly in the gates, which become stochastic matrices. \n\n\n## Documentations\nThe documentation for Noisy Quantum Gates can be accessed on the website \n Read the Docs.\n\n\n## How to install\n### Requirements\nThe Python version should be 3.9 or later. Find your Python version by typing `python` or `python3` in the CLI. \nWe recommend using the repo together with an [IBM Quantum Lab](https://quantum-computing.ibm.com/lab) account, \nas it necessary for circuit compilation with Qiskit in many cases. \n\n\n### Installation as a user\nThe library is available on the Python Package Index (PyPI) with `pip install quantum-gates`. \n\n\n### Installation as a contributor\nFor users who want to have control over the source code, we recommend the following installation. Clone the repository \nfrom [Github](https://github.com/CERN-IT-INNOVATION/quantum-gates), create a new virtual environment, and activate the \nenvironment. Then you can build the wheel and install it with the package manager of your choice as described in the \nsection [How to contribute](#how-to-contribute). This will install all dependencies in your virtual environment, \nand install a working version of the library.\n\n\n## Quickstart\nExecute the following code in a script or notebook. Add your IBM token to by defining it as the variable \nIBM_TOKEN = "your_token". \n\n```python\n# Standard libraries\nimport numpy as np\nimport json\n\n# Qiskit\nfrom qiskit import QuantumCircuit, transpile\nfrom qiskit.visualization import plot_histogram\n\n# Own library\nfrom quantum_gates.simulators import MrAndersonSimulator\nfrom quantum_gates.gates import standard_gates\nfrom quantum_gates.circuits import EfficientCircuit\nfrom quantum_gates.utilities import DeviceParameters\nfrom quantum_gates.utilities import setup_backend\nIBM_TOKEN = ""\n```\nWe create a quantum circuit with Qiskit. \n\n```python\ncirc = QuantumCircuit(2,2)\ncirc.h(0)\ncirc.cx(0,1)\ncirc.barrier(range(2))\ncirc.measure(range(2),range(2))\ncirc.draw(\'mpl\')\n```\n\nWe load the configuration from a json file or from code with\n```python\nconfig = {\n "backend": {\n "hub": "ibm-q",\n "group": "open",\n "project": "main",\n "device_name": "ibmq_manila"\n },\n "run": {\n "shots": 1000,\n "qubits_layout": [0, 1],\n "psi0": [1, 0, 0, 0]\n }\n}\n```\n... and setup the Qiskit backend used for the circuit transpilation.\n\n```python\nbackend_config = config["backend"]\nbackend = setup_backend(Token=IBM_TOKEN, **backend_config)\nrun_config = config["run"]\n```\n\nThis allows us to load the device parameters, which represent the noise of the quantum hardware. \n```python\nqubits_layout = run_config["qubits_layout"]\ndevice_param = DeviceParameters(qubits_layout)\ndevice_param.load_from_backend(backend)\ndevice_param_lookup = device_param.__dict__()\n```\n\nLast, we perform the simulation ... \n```python\nsim = MrAndersonSimulator(gates=standard_gates, CircuitClass=EfficientCircuit)\n\nt_circ = transpile(\n circ,\n backend,\n scheduling_method=\'asap\',\n initial_layout=qubits_layout,\n seed_transpiler=42\n)\n\nprobs = sim.run(\n t_qiskit_circ=t_circ, \n qubits_layout=qubits_layout, \n psi0=np.array(run_config["psi0"]), \n shots=run_config["shots"], \n device_param=device_param_lookup,\n nqubit=2)\n\ncounts_ng = {format(i, \'b\').zfill(2): probs[i] for i in range(0, 4)}\n```\n... and analyse the result. \n\n```python\nplot_histogram(counts_ng, bar_labels=False, legend=[\'Noisy Gates simulation\'])\n```\n\n\n# Usage\nWe recommend to read the [overview](https://quantum-gates.readthedocs.io/en/latest/index.html) of the documentation as a 2-minute preparation. \n\n\n## Imports\nThere are two ways of importing the package. 1) If you installed the code with pip, then the imports are simply of the form seen in the [Quickstart](<#quickstart>). \n\n```python\nfrom quantum_gates.simulators import MrAndersonSimulator\nfrom quantum_gates.gates import standard_gates\nfrom quantum_gates.circuits import EfficientCircuit\nfrom quantum_gates.utilities import DeviceParameters, setup_backend\n```\n\n2) If you use the source code directly and develop within the repository, then the imports become\n\n```python\nfrom src.quantum_gates._simulation.simulator import MrAndersonSimulator\nfrom src.quantum_gates._gates.gates import standard_gates\nfrom src.quantum_gates._simulation.circuit import EfficientCircuit\nfrom src.quantum_gates._utility.device_parameters import (\n DeviceParameters, \n setup_backend\n)\n``` \n\n\n# Functionality\nThe main components are the [gates](https://quantum-gates.readthedocs.io/en/latest/gates.html), \nand the [simulator](https://quantum-gates.readthedocs.io/en/latest/simulators.html). \nOne can configure the gates with different [pulse shapes](https://quantum-gates.readthedocs.io/en/latest/pulses.html>), \nand the simulator with different [circuit classes](https://quantum-gates.readthedocs.io/en/latest/circuits.html>) and \n[backends](https://quantum-gates.readthedocs.io/en/latest/backends.html). The circuit classes use a specific \nbackend for the statevector simulation. \nThe [EfficientBackend](https://quantum-gates.readthedocs.io/en/latest/backends.html) has the same functionality as \nthe [StandardBackend](https://quantum-gates.readthedocs.io/en/latest/backends.html), but is much more performant \nthanks to optimized tensor contraction algorithms. We also provide various\n[quantum algorithms](https://quantum-gates.readthedocs.io/en/latest/quantum_algorithms.html) as circuits, and \nscripts to run the circuits with the simulator, the IBM simulator, and a real IBM backend. Last, all functionality is \nunit tested and one can get sample code from the unit tests.\n\n\n# How to contribute\nContributions are welcomed and should apply the usual git-flow: fork this repo, create a local branch named \n\'feature-...\'. Commit often to ensure that each commit is easy to understand. Name your commits \n\'[feature-...] Commit message.\', such that it possible to differentiate the commits of different features in the \nmain line. Request a merge to the mainline often. Please remember to follow the \n[PEP 8 style guide](https://peps.python.org/pep-0008/), and add comments whenever it helps. The corresponding \n[authors](<#authors>) are happy to support you. \n\n\n## Build \nYou may also want to create your own distribution and test it. Navigate to the repository in your CLI of choice. \nBuild the wheel with the command `python3 -m build --sdist --wheel .` and navigate to the distribution with `cd dist`. \nUse `ls` to display the name of the wheel, and run `pip install .whl` with the correct filename. \nNow you can use your version of the library. \n\n\n# Authors\nThis project has been developed thanks to the effort of the following people:\n\n* Giovanni Di Bartolomeo (dibartolomeo.giov@gmail.com)\n* Michele Vischi (vischimichele@gmail.com)\n* Francesco Cesa\n* Michele Grossi (michele.grossi@cern.ch) \n* Sandro Donadi\n* Angelo Bassi \n* Roman Wixinger (roman.wixinger@gmail.com)\n'`
2023-02-02T21:36:25,820 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:25,821 consider this value unless 'readme' is listed as `dynamic`.
2023-02-02T21:36:25,821 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:25,821 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:25,821 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:25,821 follow strictly the standard.
2023-02-02T21:36:25,822 To prevent this warning, you can list 'readme' under `dynamic` or alternatively
2023-02-02T21:36:25,822 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:25,822 configuration.
2023-02-02T21:36:25,822 !!
2023-02-02T21:36:25,822 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:25,823 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'requires-python' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:25,823 !!
2023-02-02T21:36:25,823 ##########################################################################
2023-02-02T21:36:25,823 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:25,823 ##########################################################################
2023-02-02T21:36:25,824 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:25,824 `requires-python = '>=3.9'`
2023-02-02T21:36:25,824 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:25,824 consider this value unless 'requires-python' is listed as `dynamic`.
2023-02-02T21:36:25,824 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:25,825 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:25,825 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:25,825 follow strictly the standard.
2023-02-02T21:36:25,825 To prevent this warning, you can list 'requires-python' under `dynamic` or alternatively
2023-02-02T21:36:25,825 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:25,825 configuration.
2023-02-02T21:36:25,826 !!
2023-02-02T21:36:25,826 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:25,826 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:25,826 !!
2023-02-02T21:36:25,827 ##########################################################################
2023-02-02T21:36:25,827 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:25,827 ##########################################################################
2023-02-02T21:36:25,827 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:25,827 `license = 'MIT'`
2023-02-02T21:36:25,828 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:25,828 consider this value unless 'license' is listed as `dynamic`.
2023-02-02T21:36:25,828 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:25,828 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:25,828 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:25,829 follow strictly the standard.
2023-02-02T21:36:25,829 To prevent this warning, you can list 'license' under `dynamic` or alternatively
2023-02-02T21:36:25,829 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:25,829 configuration.
2023-02-02T21:36:25,829 !!
2023-02-02T21:36:25,830 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:25,830 /tmp/pip-build-env-mnkngukg/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored.
2023-02-02T21:36:25,830 !!
2023-02-02T21:36:25,830 ##########################################################################
2023-02-02T21:36:25,830 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T21:36:25,831 ##########################################################################
2023-02-02T21:36:25,831 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T21:36:25,831 `classifiers = ['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Topic :: Scientific/Engineering :: Mathematics']`
2023-02-02T21:36:25,831 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T21:36:25,831 consider this value unless 'classifiers' is listed as `dynamic`.
2023-02-02T21:36:25,832 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T21:36:25,832 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T21:36:25,832 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T21:36:25,832 follow strictly the standard.
2023-02-02T21:36:25,832 To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively
2023-02-02T21:36:25,833 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T21:36:25,833 configuration.
2023-02-02T21:36:25,833 !!
2023-02-02T21:36:25,833 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T21:36:26,015 running bdist_wheel
2023-02-02T21:36:26,030 running build
2023-02-02T21:36:26,030 running build_py
2023-02-02T21:36:26,036 creating build
2023-02-02T21:36:26,036 creating build/lib
2023-02-02T21:36:26,037 creating build/lib/quantum_gates
2023-02-02T21:36:26,038 copying src/quantum_gates/integrators.py -> build/lib/quantum_gates
2023-02-02T21:36:26,041 copying src/quantum_gates/quantum_algorithms.py -> build/lib/quantum_gates
2023-02-02T21:36:26,042 copying src/quantum_gates/backends.py -> build/lib/quantum_gates
2023-02-02T21:36:26,044 copying src/quantum_gates/__init__.py -> build/lib/quantum_gates
2023-02-02T21:36:26,046 copying src/quantum_gates/pulses.py -> build/lib/quantum_gates
2023-02-02T21:36:26,048 copying src/quantum_gates/factories.py -> build/lib/quantum_gates
2023-02-02T21:36:26,050 copying src/quantum_gates/circuits.py -> build/lib/quantum_gates
2023-02-02T21:36:26,052 copying src/quantum_gates/simulators.py -> build/lib/quantum_gates
2023-02-02T21:36:26,054 copying src/quantum_gates/utilities.py -> build/lib/quantum_gates
2023-02-02T21:36:26,056 copying src/quantum_gates/gates.py -> build/lib/quantum_gates
2023-02-02T21:36:26,058 copying src/quantum_gates/metrics.py -> build/lib/quantum_gates
2023-02-02T21:36:26,061 creating build/lib/quantum_gates/_gates
2023-02-02T21:36:26,062 copying src/quantum_gates/_gates/integrator.py -> build/lib/quantum_gates/_gates
2023-02-02T21:36:26,064 copying src/quantum_gates/_gates/__init__.py -> build/lib/quantum_gates/_gates
2023-02-02T21:36:26,066 copying src/quantum_gates/_gates/factories.py -> build/lib/quantum_gates/_gates
2023-02-02T21:36:26,069 copying src/quantum_gates/_gates/pulse.py -> build/lib/quantum_gates/_gates
2023-02-02T21:36:26,071 copying src/quantum_gates/_gates/gates.py -> build/lib/quantum_gates/_gates
2023-02-02T21:36:26,075 creating build/lib/quantum_gates/_legacy
2023-02-02T21:36:26,076 copying src/quantum_gates/_legacy/circuit.py -> build/lib/quantum_gates/_legacy
2023-02-02T21:36:26,078 copying src/quantum_gates/_legacy/simulator.py -> build/lib/quantum_gates/_legacy
2023-02-02T21:36:26,081 copying src/quantum_gates/_legacy/__init__.py -> build/lib/quantum_gates/_legacy
2023-02-02T21:36:26,083 copying src/quantum_gates/_legacy/gates.py -> build/lib/quantum_gates/_legacy
2023-02-02T21:36:26,086 creating build/lib/quantum_gates/_simulation
2023-02-02T21:36:26,087 copying src/quantum_gates/_simulation/circuit.py -> build/lib/quantum_gates/_simulation
2023-02-02T21:36:26,090 copying src/quantum_gates/_simulation/backend.py -> build/lib/quantum_gates/_simulation
2023-02-02T21:36:26,093 copying src/quantum_gates/_simulation/simulator.py -> build/lib/quantum_gates/_simulation
2023-02-02T21:36:26,096 copying src/quantum_gates/_simulation/__init__.py -> build/lib/quantum_gates/_simulation
2023-02-02T21:36:26,098 creating build/lib/quantum_gates/_utility
2023-02-02T21:36:26,099 copying src/quantum_gates/_utility/quantum_algorithms.py -> build/lib/quantum_gates/_utility
2023-02-02T21:36:26,101 copying src/quantum_gates/_utility/__init__.py -> build/lib/quantum_gates/_utility
2023-02-02T21:36:26,103 copying src/quantum_gates/_utility/device_parameters.py -> build/lib/quantum_gates/_utility
2023-02-02T21:36:26,105 copying src/quantum_gates/_utility/simulations_utility.py -> build/lib/quantum_gates/_utility
2023-02-02T21:36:26,108 running egg_info
2023-02-02T21:36:26,116 writing src/quantum_gates.egg-info/PKG-INFO
2023-02-02T21:36:26,118 writing dependency_links to src/quantum_gates.egg-info/dependency_links.txt
2023-02-02T21:36:26,120 writing requirements to src/quantum_gates.egg-info/requires.txt
2023-02-02T21:36:26,121 writing top-level names to src/quantum_gates.egg-info/top_level.txt
2023-02-02T21:36:26,132 reading manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:26,135 reading manifest template 'MANIFEST.in'
2023-02-02T21:36:26,144 adding license file 'LICENSE'
2023-02-02T21:36:26,148 writing manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T21:36:26,163 installing to build/bdist.linux-armv7l/wheel
2023-02-02T21:36:26,163 running install
2023-02-02T21:36:26,189 running install_lib
2023-02-02T21:36:26,194 creating build/bdist.linux-armv7l
2023-02-02T21:36:26,194 creating build/bdist.linux-armv7l/wheel
2023-02-02T21:36:26,196 creating build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,198 creating build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T21:36:26,199 copying build/lib/quantum_gates/_simulation/circuit.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T21:36:26,203 copying build/lib/quantum_gates/_simulation/backend.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T21:36:26,206 copying build/lib/quantum_gates/_simulation/simulator.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T21:36:26,209 copying build/lib/quantum_gates/_simulation/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T21:36:26,210 copying build/lib/quantum_gates/integrators.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,212 copying build/lib/quantum_gates/quantum_algorithms.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,215 creating build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T21:36:26,216 copying build/lib/quantum_gates/_gates/integrator.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T21:36:26,219 copying build/lib/quantum_gates/_gates/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T21:36:26,221 copying build/lib/quantum_gates/_gates/factories.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T21:36:26,224 copying build/lib/quantum_gates/_gates/pulse.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T21:36:26,226 copying build/lib/quantum_gates/_gates/gates.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T21:36:26,229 copying build/lib/quantum_gates/backends.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,231 copying build/lib/quantum_gates/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,233 creating build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T21:36:26,234 copying build/lib/quantum_gates/_utility/quantum_algorithms.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T21:36:26,237 copying build/lib/quantum_gates/_utility/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T21:36:26,238 copying build/lib/quantum_gates/_utility/device_parameters.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T21:36:26,241 copying build/lib/quantum_gates/_utility/simulations_utility.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T21:36:26,244 copying build/lib/quantum_gates/pulses.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,246 copying build/lib/quantum_gates/factories.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,248 copying build/lib/quantum_gates/circuits.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,250 copying build/lib/quantum_gates/simulators.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,252 copying build/lib/quantum_gates/utilities.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,255 copying build/lib/quantum_gates/gates.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,257 creating build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T21:36:26,258 copying build/lib/quantum_gates/_legacy/circuit.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T21:36:26,261 copying build/lib/quantum_gates/_legacy/simulator.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T21:36:26,264 copying build/lib/quantum_gates/_legacy/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T21:36:26,266 copying build/lib/quantum_gates/_legacy/gates.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T21:36:26,269 copying build/lib/quantum_gates/metrics.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T21:36:26,270 running install_egg_info
2023-02-02T21:36:26,275 Copying src/quantum_gates.egg-info to build/bdist.linux-armv7l/wheel/quantum_gates-1.0.2-py3.9.egg-info
2023-02-02T21:36:26,290 running install_scripts
2023-02-02T21:36:26,310 creating build/bdist.linux-armv7l/wheel/quantum_gates-1.0.2.dist-info/WHEEL
2023-02-02T21:36:26,313 creating '/tmp/pip-wheel-sdp32tbm/.tmp-1lcyn8w4/quantum_gates-1.0.2-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it
2023-02-02T21:36:26,316 adding 'quantum_gates/__init__.py'
2023-02-02T21:36:26,317 adding 'quantum_gates/backends.py'
2023-02-02T21:36:26,318 adding 'quantum_gates/circuits.py'
2023-02-02T21:36:26,319 adding 'quantum_gates/factories.py'
2023-02-02T21:36:26,321 adding 'quantum_gates/gates.py'
2023-02-02T21:36:26,322 adding 'quantum_gates/integrators.py'
2023-02-02T21:36:26,323 adding 'quantum_gates/metrics.py'
2023-02-02T21:36:26,324 adding 'quantum_gates/pulses.py'
2023-02-02T21:36:26,325 adding 'quantum_gates/quantum_algorithms.py'
2023-02-02T21:36:26,327 adding 'quantum_gates/simulators.py'
2023-02-02T21:36:26,328 adding 'quantum_gates/utilities.py'
2023-02-02T21:36:26,330 adding 'quantum_gates/_gates/__init__.py'
2023-02-02T21:36:26,333 adding 'quantum_gates/_gates/factories.py'
2023-02-02T21:36:26,335 adding 'quantum_gates/_gates/gates.py'
2023-02-02T21:36:26,336 adding 'quantum_gates/_gates/integrator.py'
2023-02-02T21:36:26,338 adding 'quantum_gates/_gates/pulse.py'
2023-02-02T21:36:26,340 adding 'quantum_gates/_legacy/__init__.py'
2023-02-02T21:36:26,342 adding 'quantum_gates/_legacy/circuit.py'
2023-02-02T21:36:26,344 adding 'quantum_gates/_legacy/gates.py'
2023-02-02T21:36:26,346 adding 'quantum_gates/_legacy/simulator.py'
2023-02-02T21:36:26,348 adding 'quantum_gates/_simulation/__init__.py'
2023-02-02T21:36:26,350 adding 'quantum_gates/_simulation/backend.py'
2023-02-02T21:36:26,353 adding 'quantum_gates/_simulation/circuit.py'
2023-02-02T21:36:26,355 adding 'quantum_gates/_simulation/simulator.py'
2023-02-02T21:36:26,358 adding 'quantum_gates/_utility/__init__.py'
2023-02-02T21:36:26,360 adding 'quantum_gates/_utility/device_parameters.py'
2023-02-02T21:36:26,362 adding 'quantum_gates/_utility/quantum_algorithms.py'
2023-02-02T21:36:26,363 adding 'quantum_gates/_utility/simulations_utility.py'
2023-02-02T21:36:26,366 adding 'quantum_gates-1.0.2.dist-info/LICENSE'
2023-02-02T21:36:26,368 adding 'quantum_gates-1.0.2.dist-info/METADATA'
2023-02-02T21:36:26,369 adding 'quantum_gates-1.0.2.dist-info/WHEEL'
2023-02-02T21:36:26,370 adding 'quantum_gates-1.0.2.dist-info/top_level.txt'
2023-02-02T21:36:26,371 adding 'quantum_gates-1.0.2.dist-info/RECORD'
2023-02-02T21:36:26,373 removing build/bdist.linux-armv7l/wheel
2023-02-02T21:36:26,483 Building wheel for quantum-gates (pyproject.toml): finished with status 'done'
2023-02-02T21:36:26,490 Created wheel for quantum-gates: filename=quantum_gates-1.0.2-py3-none-any.whl size=45096 sha256=5cc32a54bcc6142625ad7c3168ced8380dae5199414e0d55cd69b4a4d15cc247
2023-02-02T21:36:26,491 Stored in directory: /tmp/pip-ephem-wheel-cache-iep4z9n3/wheels/89/b6/23/324e968c02f538f2eeef0dfcd97c34342d4ea952db5c26e36f
2023-02-02T21:36:26,506 Successfully built quantum-gates
2023-02-02T21:36:26,510 Removed build tracker: '/tmp/pip-build-tracker-y9gge8si'