2023-02-02T20:53:11,868 Created temporary directory: /tmp/pip-ephem-wheel-cache-ao3330m1
2023-02-02T20:53:11,870 Created temporary directory: /tmp/pip-build-tracker-w30u6920
2023-02-02T20:53:11,870 Initialized build tracking at /tmp/pip-build-tracker-w30u6920
2023-02-02T20:53:11,870 Created build tracker: /tmp/pip-build-tracker-w30u6920
2023-02-02T20:53:11,871 Entered build tracker: /tmp/pip-build-tracker-w30u6920
2023-02-02T20:53:11,871 Created temporary directory: /tmp/pip-wheel-qez5x1aj
2023-02-02T20:53:11,874 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-02T20:53:11,877 Created temporary directory: /tmp/pip-ephem-wheel-cache-vgoxs3hs
2023-02-02T20:53:11,901 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
2023-02-02T20:53:11,905 2 location(s) to search for versions of quantum-gates:
2023-02-02T20:53:11,905 * https://pypi.org/simple/quantum-gates/
2023-02-02T20:53:11,905 * https://www.piwheels.org/simple/quantum-gates/
2023-02-02T20:53:11,905 Fetching project page and analyzing links: https://pypi.org/simple/quantum-gates/
2023-02-02T20:53:11,906 Getting page https://pypi.org/simple/quantum-gates/
2023-02-02T20:53:11,907 Found index url https://pypi.org/simple
2023-02-02T20:53:11,959 Fetched page https://pypi.org/simple/quantum-gates/ as application/vnd.pypi.simple.v1+json
2023-02-02T20:53:11,961 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-02T20:53:11,961 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-02T20:53:11,961 Fetching project page and analyzing links: https://www.piwheels.org/simple/quantum-gates/
2023-02-02T20:53:11,962 Getting page https://www.piwheels.org/simple/quantum-gates/
2023-02-02T20:53:11,963 Found index url https://www.piwheels.org/simple
2023-02-02T20:53:12,130 Fetched page https://www.piwheels.org/simple/quantum-gates/ as text/html
2023-02-02T20:53:12,131 Skipping link: not a file: https://www.piwheels.org/simple/quantum-gates/
2023-02-02T20:53:12,131 Skipping link: not a file: https://pypi.org/simple/quantum-gates/
2023-02-02T20:53:12,149 Given no hashes to check 1 links for project 'quantum-gates': discarding no candidates
2023-02-02T20:53:12,165 Collecting quantum-gates==0.1.0
2023-02-02T20:53:12,167 Created temporary directory: /tmp/pip-unpack-fwpqeilk
2023-02-02T20:53:12,352 Downloading quantum-gates-0.1.0.tar.gz (51 kB)
2023-02-02T20:53:12,501 Added quantum-gates==0.1.0 from https://files.pythonhosted.org/packages/aa/3f/9847c7a7632d39bd15dbbf35b3c488375d55467c495d77b3ee45d0f96530/quantum-gates-0.1.0.tar.gz to build tracker '/tmp/pip-build-tracker-w30u6920'
2023-02-02T20:53:12,507 Created temporary directory: /tmp/pip-build-env-n7i0n8e7
2023-02-02T20:53:12,514 Installing build dependencies: started
2023-02-02T20:53:12,516 Running command pip subprocess to install build dependencies
2023-02-02T20:53:13,722 Using pip 22.3 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)
2023-02-02T20:53:14,109 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-02T20:53:14,134 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
2023-02-02T20:53:15,814 Collecting setuptools>=42
2023-02-02T20:53:15,913 Using cached https://www.piwheels.org/simple/setuptools/setuptools-67.1.0-py3-none-any.whl (1.1 MB)
2023-02-02T20:53:16,174 Collecting wheel
2023-02-02T20:53:16,191 Using cached https://www.piwheels.org/simple/wheel/wheel-0.38.4-py3-none-any.whl (36 kB)
2023-02-02T20:53:16,371 Collecting flit_core<4,>=3.2
2023-02-02T20:53:16,414 Using cached https://www.piwheels.org/simple/flit-core/flit_core-3.8.0-py3-none-any.whl (62 kB)
2023-02-02T20:53:18,301 Installing collected packages: wheel, setuptools, flit_core
2023-02-02T20:53:18,454 Creating /tmp/pip-build-env-n7i0n8e7/overlay/bin
2023-02-02T20:53:18,457 changing mode of /tmp/pip-build-env-n7i0n8e7/overlay/bin/wheel to 755
2023-02-02T20:53:21,053 Successfully installed flit_core-3.8.0 setuptools-67.1.0 wheel-0.38.4
2023-02-02T20:53:21,068 [notice] A new release of pip available: 22.3 -> 23.0
2023-02-02T20:53:21,068 [notice] To update, run: python3 -m pip install --upgrade pip
2023-02-02T20:53:21,330 Installing build dependencies: finished with status 'done'
2023-02-02T20:53:21,336 Getting requirements to build wheel: started
2023-02-02T20:53:21,337 Running command Getting requirements to build wheel
2023-02-02T20:53:22,080 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:22,081 !!
2023-02-02T20:53:22,081 ##########################################################################
2023-02-02T20:53:22,081 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:22,081 ##########################################################################
2023-02-02T20:53:22,082 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:22,082 `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-docs.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-02T20:53:22,083 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:22,083 consider this value unless 'readme' is listed as `dynamic`.
2023-02-02T20:53:22,083 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:22,083 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:22,084 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:22,084 follow strictly the standard.
2023-02-02T20:53:22,084 To prevent this warning, you can list 'readme' under `dynamic` or alternatively
2023-02-02T20:53:22,084 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:22,084 configuration.
2023-02-02T20:53:22,084 !!
2023-02-02T20:53:22,085 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:22,085 /tmp/pip-build-env-n7i0n8e7/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-02T20:53:22,085 !!
2023-02-02T20:53:22,085 ##########################################################################
2023-02-02T20:53:22,086 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:22,086 ##########################################################################
2023-02-02T20:53:22,086 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:22,087 `requires-python = '>=3.9'`
2023-02-02T20:53:22,087 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:22,087 consider this value unless 'requires-python' is listed as `dynamic`.
2023-02-02T20:53:22,088 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:22,088 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:22,088 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:22,088 follow strictly the standard.
2023-02-02T20:53:22,089 To prevent this warning, you can list 'requires-python' under `dynamic` or alternatively
2023-02-02T20:53:22,089 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:22,089 configuration.
2023-02-02T20:53:22,089 !!
2023-02-02T20:53:22,090 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:22,090 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:22,090 !!
2023-02-02T20:53:22,091 ##########################################################################
2023-02-02T20:53:22,091 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:22,091 ##########################################################################
2023-02-02T20:53:22,091 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:22,091 `license = 'MIT'`
2023-02-02T20:53:22,092 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:22,092 consider this value unless 'license' is listed as `dynamic`.
2023-02-02T20:53:22,092 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:22,093 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:22,093 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:22,093 follow strictly the standard.
2023-02-02T20:53:22,093 To prevent this warning, you can list 'license' under `dynamic` or alternatively
2023-02-02T20:53:22,093 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:22,094 configuration.
2023-02-02T20:53:22,094 !!
2023-02-02T20:53:22,094 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:22,094 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:22,094 !!
2023-02-02T20:53:22,095 ##########################################################################
2023-02-02T20:53:22,095 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:22,095 ##########################################################################
2023-02-02T20:53:22,096 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:22,096 `classifiers = ['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Topic :: Scientific/Engineering :: Mathematics']`
2023-02-02T20:53:22,096 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:22,096 consider this value unless 'classifiers' is listed as `dynamic`.
2023-02-02T20:53:22,097 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:22,097 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:22,097 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:22,097 follow strictly the standard.
2023-02-02T20:53:22,097 To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively
2023-02-02T20:53:22,098 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:22,098 configuration.
2023-02-02T20:53:22,099 !!
2023-02-02T20:53:22,099 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:22,315 running egg_info
2023-02-02T20:53:22,320 writing src/quantum_gates.egg-info/PKG-INFO
2023-02-02T20:53:22,323 writing dependency_links to src/quantum_gates.egg-info/dependency_links.txt
2023-02-02T20:53:22,326 writing requirements to src/quantum_gates.egg-info/requires.txt
2023-02-02T20:53:22,327 writing top-level names to src/quantum_gates.egg-info/top_level.txt
2023-02-02T20:53:22,346 reading manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:22,352 reading manifest template 'MANIFEST.in'
2023-02-02T20:53:22,361 adding license file 'LICENSE'
2023-02-02T20:53:22,365 writing manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:22,461 Getting requirements to build wheel: finished with status 'done'
2023-02-02T20:53:22,472 Created temporary directory: /tmp/pip-modern-metadata-m4r23nkx
2023-02-02T20:53:22,474 Preparing metadata (pyproject.toml): started
2023-02-02T20:53:22,475 Running command Preparing metadata (pyproject.toml)
2023-02-02T20:53:23,109 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:23,110 !!
2023-02-02T20:53:23,110 ##########################################################################
2023-02-02T20:53:23,111 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:23,111 ##########################################################################
2023-02-02T20:53:23,111 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:23,111 `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-docs.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-02T20:53:23,112 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:23,112 consider this value unless 'readme' is listed as `dynamic`.
2023-02-02T20:53:23,113 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:23,113 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:23,113 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:23,113 follow strictly the standard.
2023-02-02T20:53:23,113 To prevent this warning, you can list 'readme' under `dynamic` or alternatively
2023-02-02T20:53:23,113 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:23,114 configuration.
2023-02-02T20:53:23,114 !!
2023-02-02T20:53:23,114 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:23,114 /tmp/pip-build-env-n7i0n8e7/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-02T20:53:23,114 !!
2023-02-02T20:53:23,115 ##########################################################################
2023-02-02T20:53:23,115 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:23,115 ##########################################################################
2023-02-02T20:53:23,115 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:23,116 `requires-python = '>=3.9'`
2023-02-02T20:53:23,116 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:23,116 consider this value unless 'requires-python' is listed as `dynamic`.
2023-02-02T20:53:23,117 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:23,117 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:23,117 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:23,117 follow strictly the standard.
2023-02-02T20:53:23,118 To prevent this warning, you can list 'requires-python' under `dynamic` or alternatively
2023-02-02T20:53:23,118 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:23,118 configuration.
2023-02-02T20:53:23,118 !!
2023-02-02T20:53:23,119 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:23,119 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:23,119 !!
2023-02-02T20:53:23,119 ##########################################################################
2023-02-02T20:53:23,119 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:23,120 ##########################################################################
2023-02-02T20:53:23,120 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:23,120 `license = 'MIT'`
2023-02-02T20:53:23,121 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:23,121 consider this value unless 'license' is listed as `dynamic`.
2023-02-02T20:53:23,121 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:23,121 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:23,121 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:23,122 follow strictly the standard.
2023-02-02T20:53:23,122 To prevent this warning, you can list 'license' under `dynamic` or alternatively
2023-02-02T20:53:23,122 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:23,122 configuration.
2023-02-02T20:53:23,122 !!
2023-02-02T20:53:23,123 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:23,123 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:23,123 !!
2023-02-02T20:53:23,124 ##########################################################################
2023-02-02T20:53:23,124 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:23,124 ##########################################################################
2023-02-02T20:53:23,124 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:23,124 `classifiers = ['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Topic :: Scientific/Engineering :: Mathematics']`
2023-02-02T20:53:23,125 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:23,125 consider this value unless 'classifiers' is listed as `dynamic`.
2023-02-02T20:53:23,125 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:23,126 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:23,126 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:23,126 follow strictly the standard.
2023-02-02T20:53:23,126 To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively
2023-02-02T20:53:23,126 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:23,127 configuration.
2023-02-02T20:53:23,127 !!
2023-02-02T20:53:23,127 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:23,319 running dist_info
2023-02-02T20:53:23,325 creating /tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info
2023-02-02T20:53:23,329 writing /tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/PKG-INFO
2023-02-02T20:53:23,333 writing dependency_links to /tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/dependency_links.txt
2023-02-02T20:53:23,336 writing requirements to /tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/requires.txt
2023-02-02T20:53:23,337 writing top-level names to /tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/top_level.txt
2023-02-02T20:53:23,339 writing manifest file '/tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:23,356 reading manifest file '/tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:23,359 reading manifest template 'MANIFEST.in'
2023-02-02T20:53:23,368 adding license file 'LICENSE'
2023-02-02T20:53:23,372 writing manifest file '/tmp/pip-modern-metadata-m4r23nkx/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:23,373 creating '/tmp/pip-modern-metadata-m4r23nkx/quantum_gates-0.1.0.dist-info'
2023-02-02T20:53:23,510 Preparing metadata (pyproject.toml): finished with status 'done'
2023-02-02T20:53:23,517 Source in /tmp/pip-wheel-qez5x1aj/quantum-gates_9f3895f5a0744800b5133e493061b5f9 has version 0.1.0, which satisfies requirement quantum-gates==0.1.0 from https://files.pythonhosted.org/packages/aa/3f/9847c7a7632d39bd15dbbf35b3c488375d55467c495d77b3ee45d0f96530/quantum-gates-0.1.0.tar.gz
2023-02-02T20:53:23,518 Removed quantum-gates==0.1.0 from https://files.pythonhosted.org/packages/aa/3f/9847c7a7632d39bd15dbbf35b3c488375d55467c495d77b3ee45d0f96530/quantum-gates-0.1.0.tar.gz from build tracker '/tmp/pip-build-tracker-w30u6920'
2023-02-02T20:53:23,525 Created temporary directory: /tmp/pip-unpack-o8g27xyk
2023-02-02T20:53:23,526 Building wheels for collected packages: quantum-gates
2023-02-02T20:53:23,531 Created temporary directory: /tmp/pip-wheel-r_d2ows5
2023-02-02T20:53:23,531 Destination directory: /tmp/pip-wheel-r_d2ows5
2023-02-02T20:53:23,533 Building wheel for quantum-gates (pyproject.toml): started
2023-02-02T20:53:23,534 Running command Building wheel for quantum-gates (pyproject.toml)
2023-02-02T20:53:24,148 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'readme' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:24,149 !!
2023-02-02T20:53:24,149 ##########################################################################
2023-02-02T20:53:24,149 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:24,150 ##########################################################################
2023-02-02T20:53:24,150 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:24,150 `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-docs.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-02T20:53:24,151 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:24,151 consider this value unless 'readme' is listed as `dynamic`.
2023-02-02T20:53:24,151 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:24,152 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:24,152 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:24,152 follow strictly the standard.
2023-02-02T20:53:24,152 To prevent this warning, you can list 'readme' under `dynamic` or alternatively
2023-02-02T20:53:24,152 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:24,153 configuration.
2023-02-02T20:53:24,153 !!
2023-02-02T20:53:24,153 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:24,153 /tmp/pip-build-env-n7i0n8e7/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-02T20:53:24,153 !!
2023-02-02T20:53:24,154 ##########################################################################
2023-02-02T20:53:24,154 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:24,154 ##########################################################################
2023-02-02T20:53:24,154 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:24,155 `requires-python = '>=3.9'`
2023-02-02T20:53:24,155 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:24,155 consider this value unless 'requires-python' is listed as `dynamic`.
2023-02-02T20:53:24,156 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:24,156 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:24,156 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:24,156 follow strictly the standard.
2023-02-02T20:53:24,156 To prevent this warning, you can list 'requires-python' under `dynamic` or alternatively
2023-02-02T20:53:24,157 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:24,157 configuration.
2023-02-02T20:53:24,157 !!
2023-02-02T20:53:24,158 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:24,158 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'license' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:24,158 !!
2023-02-02T20:53:24,158 ##########################################################################
2023-02-02T20:53:24,158 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:24,158 ##########################################################################
2023-02-02T20:53:24,159 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:24,159 `license = 'MIT'`
2023-02-02T20:53:24,159 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:24,160 consider this value unless 'license' is listed as `dynamic`.
2023-02-02T20:53:24,160 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:24,160 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:24,160 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:24,160 follow strictly the standard.
2023-02-02T20:53:24,161 To prevent this warning, you can list 'license' under `dynamic` or alternatively
2023-02-02T20:53:24,161 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:24,161 configuration.
2023-02-02T20:53:24,161 !!
2023-02-02T20:53:24,162 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:24,162 /tmp/pip-build-env-n7i0n8e7/overlay/lib/python3.9/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'classifiers' defined outside of `pyproject.toml` would be ignored.
2023-02-02T20:53:24,162 !!
2023-02-02T20:53:24,162 ##########################################################################
2023-02-02T20:53:24,163 # configuration would be ignored/result in error due to `pyproject.toml` #
2023-02-02T20:53:24,163 ##########################################################################
2023-02-02T20:53:24,163 The following seems to be defined outside of `pyproject.toml`:
2023-02-02T20:53:24,163 `classifiers = ['Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: Unix', 'Topic :: Scientific/Engineering :: Mathematics']`
2023-02-02T20:53:24,164 According to the spec (see the link below), however, setuptools CANNOT
2023-02-02T20:53:24,164 consider this value unless 'classifiers' is listed as `dynamic`.
2023-02-02T20:53:24,164 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
2023-02-02T20:53:24,164 For the time being, `setuptools` will still consider the given value (as a
2023-02-02T20:53:24,165 **transitional** measure), but please note that future releases of setuptools will
2023-02-02T20:53:24,165 follow strictly the standard.
2023-02-02T20:53:24,165 To prevent this warning, you can list 'classifiers' under `dynamic` or alternatively
2023-02-02T20:53:24,165 remove the `[project]` table from your file and rely entirely on other means of
2023-02-02T20:53:24,165 configuration.
2023-02-02T20:53:24,166 !!
2023-02-02T20:53:24,166 warnings.warn(msg, _WouldIgnoreField)
2023-02-02T20:53:24,344 running bdist_wheel
2023-02-02T20:53:24,358 running build
2023-02-02T20:53:24,359 running build_py
2023-02-02T20:53:24,364 creating build
2023-02-02T20:53:24,365 creating build/lib
2023-02-02T20:53:24,368 creating build/lib/quantum_gates
2023-02-02T20:53:24,369 copying src/quantum_gates/gates.py -> build/lib/quantum_gates
2023-02-02T20:53:24,371 copying src/quantum_gates/utilities.py -> build/lib/quantum_gates
2023-02-02T20:53:24,373 copying src/quantum_gates/factories.py -> build/lib/quantum_gates
2023-02-02T20:53:24,375 copying src/quantum_gates/backends.py -> build/lib/quantum_gates
2023-02-02T20:53:24,377 copying src/quantum_gates/integrators.py -> build/lib/quantum_gates
2023-02-02T20:53:24,379 copying src/quantum_gates/simulators.py -> build/lib/quantum_gates
2023-02-02T20:53:24,381 copying src/quantum_gates/__init__.py -> build/lib/quantum_gates
2023-02-02T20:53:24,383 copying src/quantum_gates/metrics.py -> build/lib/quantum_gates
2023-02-02T20:53:24,385 copying src/quantum_gates/pulses.py -> build/lib/quantum_gates
2023-02-02T20:53:24,387 copying src/quantum_gates/quantum_algorithms.py -> build/lib/quantum_gates
2023-02-02T20:53:24,389 copying src/quantum_gates/circuits.py -> build/lib/quantum_gates
2023-02-02T20:53:24,392 creating build/lib/quantum_gates/_gates
2023-02-02T20:53:24,393 copying src/quantum_gates/_gates/gates.py -> build/lib/quantum_gates/_gates
2023-02-02T20:53:24,395 copying src/quantum_gates/_gates/integrator.py -> build/lib/quantum_gates/_gates
2023-02-02T20:53:24,398 copying src/quantum_gates/_gates/factories.py -> build/lib/quantum_gates/_gates
2023-02-02T20:53:24,401 copying src/quantum_gates/_gates/__init__.py -> build/lib/quantum_gates/_gates
2023-02-02T20:53:24,402 copying src/quantum_gates/_gates/pulse.py -> build/lib/quantum_gates/_gates
2023-02-02T20:53:24,405 creating build/lib/quantum_gates/_legacy
2023-02-02T20:53:24,406 copying src/quantum_gates/_legacy/gates.py -> build/lib/quantum_gates/_legacy
2023-02-02T20:53:24,409 copying src/quantum_gates/_legacy/circuit.py -> build/lib/quantum_gates/_legacy
2023-02-02T20:53:24,412 copying src/quantum_gates/_legacy/simulator.py -> build/lib/quantum_gates/_legacy
2023-02-02T20:53:24,414 copying src/quantum_gates/_legacy/__init__.py -> build/lib/quantum_gates/_legacy
2023-02-02T20:53:24,417 creating build/lib/quantum_gates/_simulation
2023-02-02T20:53:24,418 copying src/quantum_gates/_simulation/circuit.py -> build/lib/quantum_gates/_simulation
2023-02-02T20:53:24,421 copying src/quantum_gates/_simulation/simulator.py -> build/lib/quantum_gates/_simulation
2023-02-02T20:53:24,424 copying src/quantum_gates/_simulation/backend.py -> build/lib/quantum_gates/_simulation
2023-02-02T20:53:24,427 copying src/quantum_gates/_simulation/__init__.py -> build/lib/quantum_gates/_simulation
2023-02-02T20:53:24,429 creating build/lib/quantum_gates/_utility
2023-02-02T20:53:24,430 copying src/quantum_gates/_utility/device_parameters.py -> build/lib/quantum_gates/_utility
2023-02-02T20:53:24,433 copying src/quantum_gates/_utility/simulations_utility.py -> build/lib/quantum_gates/_utility
2023-02-02T20:53:24,436 copying src/quantum_gates/_utility/__init__.py -> build/lib/quantum_gates/_utility
2023-02-02T20:53:24,437 copying src/quantum_gates/_utility/quantum_algorithms.py -> build/lib/quantum_gates/_utility
2023-02-02T20:53:24,439 running egg_info
2023-02-02T20:53:24,447 writing src/quantum_gates.egg-info/PKG-INFO
2023-02-02T20:53:24,449 writing dependency_links to src/quantum_gates.egg-info/dependency_links.txt
2023-02-02T20:53:24,451 writing requirements to src/quantum_gates.egg-info/requires.txt
2023-02-02T20:53:24,452 writing top-level names to src/quantum_gates.egg-info/top_level.txt
2023-02-02T20:53:24,463 reading manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:24,466 reading manifest template 'MANIFEST.in'
2023-02-02T20:53:24,476 adding license file 'LICENSE'
2023-02-02T20:53:24,480 writing manifest file 'src/quantum_gates.egg-info/SOURCES.txt'
2023-02-02T20:53:24,493 installing to build/bdist.linux-armv7l/wheel
2023-02-02T20:53:24,494 running install
2023-02-02T20:53:24,519 running install_lib
2023-02-02T20:53:24,524 creating build/bdist.linux-armv7l
2023-02-02T20:53:24,524 creating build/bdist.linux-armv7l/wheel
2023-02-02T20:53:24,526 creating build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,527 copying build/lib/quantum_gates/gates.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,529 copying build/lib/quantum_gates/utilities.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,531 copying build/lib/quantum_gates/factories.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,534 creating build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T20:53:24,535 copying build/lib/quantum_gates/_simulation/circuit.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T20:53:24,538 copying build/lib/quantum_gates/_simulation/simulator.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T20:53:24,541 copying build/lib/quantum_gates/_simulation/backend.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T20:53:24,543 copying build/lib/quantum_gates/_simulation/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_simulation
2023-02-02T20:53:24,545 copying build/lib/quantum_gates/backends.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,547 copying build/lib/quantum_gates/integrators.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,549 copying build/lib/quantum_gates/simulators.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,551 copying build/lib/quantum_gates/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,552 copying build/lib/quantum_gates/metrics.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,554 copying build/lib/quantum_gates/pulses.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,556 copying build/lib/quantum_gates/quantum_algorithms.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,559 creating build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T20:53:24,560 copying build/lib/quantum_gates/_gates/gates.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T20:53:24,562 copying build/lib/quantum_gates/_gates/integrator.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T20:53:24,565 copying build/lib/quantum_gates/_gates/factories.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T20:53:24,568 copying build/lib/quantum_gates/_gates/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T20:53:24,570 copying build/lib/quantum_gates/_gates/pulse.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_gates
2023-02-02T20:53:24,572 copying build/lib/quantum_gates/circuits.py -> build/bdist.linux-armv7l/wheel/quantum_gates
2023-02-02T20:53:24,575 creating build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T20:53:24,576 copying build/lib/quantum_gates/_legacy/gates.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T20:53:24,579 copying build/lib/quantum_gates/_legacy/circuit.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T20:53:24,581 copying build/lib/quantum_gates/_legacy/simulator.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T20:53:24,584 copying build/lib/quantum_gates/_legacy/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_legacy
2023-02-02T20:53:24,586 creating build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T20:53:24,587 copying build/lib/quantum_gates/_utility/device_parameters.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T20:53:24,590 copying build/lib/quantum_gates/_utility/simulations_utility.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T20:53:24,592 copying build/lib/quantum_gates/_utility/__init__.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T20:53:24,594 copying build/lib/quantum_gates/_utility/quantum_algorithms.py -> build/bdist.linux-armv7l/wheel/quantum_gates/_utility
2023-02-02T20:53:24,596 running install_egg_info
2023-02-02T20:53:24,600 Copying src/quantum_gates.egg-info to build/bdist.linux-armv7l/wheel/quantum_gates-0.1.0-py3.9.egg-info
2023-02-02T20:53:24,613 running install_scripts
2023-02-02T20:53:24,633 creating build/bdist.linux-armv7l/wheel/quantum_gates-0.1.0.dist-info/WHEEL
2023-02-02T20:53:24,636 creating '/tmp/pip-wheel-r_d2ows5/.tmp-wm_zlbif/quantum_gates-0.1.0-py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it
2023-02-02T20:53:24,639 adding 'quantum_gates/__init__.py'
2023-02-02T20:53:24,640 adding 'quantum_gates/backends.py'
2023-02-02T20:53:24,641 adding 'quantum_gates/circuits.py'
2023-02-02T20:53:24,643 adding 'quantum_gates/factories.py'
2023-02-02T20:53:24,644 adding 'quantum_gates/gates.py'
2023-02-02T20:53:24,645 adding 'quantum_gates/integrators.py'
2023-02-02T20:53:24,646 adding 'quantum_gates/metrics.py'
2023-02-02T20:53:24,648 adding 'quantum_gates/pulses.py'
2023-02-02T20:53:24,649 adding 'quantum_gates/quantum_algorithms.py'
2023-02-02T20:53:24,650 adding 'quantum_gates/simulators.py'
2023-02-02T20:53:24,651 adding 'quantum_gates/utilities.py'
2023-02-02T20:53:24,653 adding 'quantum_gates/_gates/__init__.py'
2023-02-02T20:53:24,656 adding 'quantum_gates/_gates/factories.py'
2023-02-02T20:53:24,658 adding 'quantum_gates/_gates/gates.py'
2023-02-02T20:53:24,660 adding 'quantum_gates/_gates/integrator.py'
2023-02-02T20:53:24,662 adding 'quantum_gates/_gates/pulse.py'
2023-02-02T20:53:24,664 adding 'quantum_gates/_legacy/__init__.py'
2023-02-02T20:53:24,665 adding 'quantum_gates/_legacy/circuit.py'
2023-02-02T20:53:24,668 adding 'quantum_gates/_legacy/gates.py'
2023-02-02T20:53:24,670 adding 'quantum_gates/_legacy/simulator.py'
2023-02-02T20:53:24,672 adding 'quantum_gates/_simulation/__init__.py'
2023-02-02T20:53:24,674 adding 'quantum_gates/_simulation/backend.py'
2023-02-02T20:53:24,677 adding 'quantum_gates/_simulation/circuit.py'
2023-02-02T20:53:24,679 adding 'quantum_gates/_simulation/simulator.py'
2023-02-02T20:53:24,681 adding 'quantum_gates/_utility/__init__.py'
2023-02-02T20:53:24,683 adding 'quantum_gates/_utility/device_parameters.py'
2023-02-02T20:53:24,684 adding 'quantum_gates/_utility/quantum_algorithms.py'
2023-02-02T20:53:24,686 adding 'quantum_gates/_utility/simulations_utility.py'
2023-02-02T20:53:24,689 adding 'quantum_gates-0.1.0.dist-info/LICENSE'
2023-02-02T20:53:24,691 adding 'quantum_gates-0.1.0.dist-info/METADATA'
2023-02-02T20:53:24,692 adding 'quantum_gates-0.1.0.dist-info/WHEEL'
2023-02-02T20:53:24,693 adding 'quantum_gates-0.1.0.dist-info/top_level.txt'
2023-02-02T20:53:24,694 adding 'quantum_gates-0.1.0.dist-info/RECORD'
2023-02-02T20:53:24,697 removing build/bdist.linux-armv7l/wheel
2023-02-02T20:53:24,808 Building wheel for quantum-gates (pyproject.toml): finished with status 'done'
2023-02-02T20:53:24,815 Created wheel for quantum-gates: filename=quantum_gates-0.1.0-py3-none-any.whl size=45101 sha256=8eb62bdb7f6aa105aca1a99632d5d5b2a7991140344f4637be275696057d5bd0
2023-02-02T20:53:24,816 Stored in directory: /tmp/pip-ephem-wheel-cache-vgoxs3hs/wheels/af/76/fe/ea3db1ea93c6c59b29e6c30bac7fba61a9bb6b1a44136a17cd
2023-02-02T20:53:24,830 Successfully built quantum-gates
2023-02-02T20:53:24,835 Removed build tracker: '/tmp/pip-build-tracker-w30u6920'