qiskit 2.0.0rc1__cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 2.0.0rc2__cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- qiskit/VERSION.txt +1 -1
- qiskit/_accelerate.abi3.so +0 -0
- qiskit/circuit/library/standard_gates/r.py +1 -1
- qiskit/circuit/parameterexpression.py +7 -0
- qiskit/circuit/tools/pi_check.py +3 -0
- qiskit/qpy/binary_io/parse_sympy_repr.py +121 -0
- qiskit/qpy/binary_io/value.py +5 -5
- qiskit/transpiler/passes/optimization/template_matching/template_substitution.py +2 -2
- {qiskit-2.0.0rc1.dist-info → qiskit-2.0.0rc2.dist-info}/METADATA +1 -1
- {qiskit-2.0.0rc1.dist-info → qiskit-2.0.0rc2.dist-info}/RECORD +14 -13
- {qiskit-2.0.0rc1.dist-info → qiskit-2.0.0rc2.dist-info}/LICENSE.txt +0 -0
- {qiskit-2.0.0rc1.dist-info → qiskit-2.0.0rc2.dist-info}/WHEEL +0 -0
- {qiskit-2.0.0rc1.dist-info → qiskit-2.0.0rc2.dist-info}/entry_points.txt +0 -0
- {qiskit-2.0.0rc1.dist-info → qiskit-2.0.0rc2.dist-info}/top_level.txt +0 -0
qiskit/VERSION.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.0rc2
|
qiskit/_accelerate.abi3.so
CHANGED
Binary file
|
@@ -79,7 +79,7 @@ class RGate(Gate):
|
|
79
79
|
self.definition = qc
|
80
80
|
|
81
81
|
def inverse(self, annotated: bool = False):
|
82
|
-
"""Invert this gate as: :math:`
|
82
|
+
r"""Invert this gate as: :math:`R(θ, φ)^{\dagger} = R(-θ, φ)`
|
83
83
|
|
84
84
|
Args:
|
85
85
|
annotated: when set to ``True``, this is typically used to return an
|
@@ -26,6 +26,7 @@ import numpy
|
|
26
26
|
import symengine
|
27
27
|
|
28
28
|
from qiskit.circuit.exceptions import CircuitError
|
29
|
+
from qiskit.exceptions import QiskitError
|
29
30
|
from qiskit.utils.optionals import HAS_SYMPY
|
30
31
|
|
31
32
|
# This type is redefined at the bottom to insert the full reference to "ParameterExpression", so it
|
@@ -531,6 +532,9 @@ class ParameterExpression:
|
|
531
532
|
def __str__(self):
|
532
533
|
from sympy import sympify, sstr
|
533
534
|
|
535
|
+
if not isinstance(self._symbol_expr, symengine.Basic):
|
536
|
+
raise QiskitError("Invalid ParameterExpression")
|
537
|
+
|
534
538
|
return sstr(sympify(self._symbol_expr), full_prec=False)
|
535
539
|
|
536
540
|
def __complex__(self):
|
@@ -611,6 +615,9 @@ class ParameterExpression:
|
|
611
615
|
return False
|
612
616
|
from sympy import sympify
|
613
617
|
|
618
|
+
if not isinstance(self._symbol_expr, symengine.Basic):
|
619
|
+
raise QiskitError("Invalid ParameterExpression")
|
620
|
+
|
614
621
|
return sympify(self._symbol_expr).equals(sympify(other._symbol_expr))
|
615
622
|
elif isinstance(other, numbers.Number):
|
616
623
|
return len(self.parameters) == 0 and complex(self._symbol_expr) == other
|
qiskit/circuit/tools/pi_check.py
CHANGED
@@ -49,7 +49,10 @@ def pi_check(inpt, eps=1e-9, output="text", ndigits=None):
|
|
49
49
|
if isinstance(inpt, ParameterExpression):
|
50
50
|
param_str = str(inpt)
|
51
51
|
from sympy import sympify
|
52
|
+
import symengine
|
52
53
|
|
54
|
+
if not isinstance(inpt._symbol_expr, symengine.Basic):
|
55
|
+
raise QiskitError("Invalid ParameterExpression provided")
|
53
56
|
expr = sympify(inpt._symbol_expr)
|
54
57
|
syms = expr.atoms()
|
55
58
|
for sym in syms:
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# This code is part of Qiskit.
|
2
|
+
#
|
3
|
+
# (C) Copyright IBM 2025.
|
4
|
+
#
|
5
|
+
# This code is licensed under the Apache License, Version 2.0. You may
|
6
|
+
# obtain a copy of this license in the LICENSE.txt file in the root directory
|
7
|
+
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
|
8
|
+
#
|
9
|
+
# Any modifications or derivative works of this code must retain this
|
10
|
+
# copyright notice, and modified files need to carry a notice indicating
|
11
|
+
# that they have been altered from the originals.
|
12
|
+
|
13
|
+
"""Parser for sympy expressions srepr from ParameterExpression internals."""
|
14
|
+
|
15
|
+
import ast
|
16
|
+
|
17
|
+
from qiskit.qpy.exceptions import QpyError
|
18
|
+
|
19
|
+
|
20
|
+
ALLOWED_CALLERS = {
|
21
|
+
"Abs",
|
22
|
+
"Add",
|
23
|
+
"Sub",
|
24
|
+
"Mul",
|
25
|
+
"Div",
|
26
|
+
"Pow",
|
27
|
+
"Symbol",
|
28
|
+
"Integer",
|
29
|
+
"Rational",
|
30
|
+
"Complex",
|
31
|
+
"Float",
|
32
|
+
"log",
|
33
|
+
"sin",
|
34
|
+
"cos",
|
35
|
+
"tan",
|
36
|
+
"atan",
|
37
|
+
"acos",
|
38
|
+
"asin",
|
39
|
+
"exp",
|
40
|
+
"conjugate",
|
41
|
+
}
|
42
|
+
|
43
|
+
UNARY = {
|
44
|
+
"sin",
|
45
|
+
"cos",
|
46
|
+
"tan",
|
47
|
+
"atan",
|
48
|
+
"acos",
|
49
|
+
"asin",
|
50
|
+
"conjugate",
|
51
|
+
"Symbol",
|
52
|
+
"Integer",
|
53
|
+
"Complex",
|
54
|
+
"Abs",
|
55
|
+
"Float",
|
56
|
+
}
|
57
|
+
|
58
|
+
|
59
|
+
class ParseSympyWalker(ast.NodeVisitor):
|
60
|
+
"""A custom ast walker that is passed the sympy srepr from QPY < 13 and creates a custom
|
61
|
+
expression."""
|
62
|
+
|
63
|
+
def __init__(self):
|
64
|
+
self.stack = []
|
65
|
+
|
66
|
+
def visit_UnaryOp(self, node: ast.UnaryOp): # pylint: disable=invalid-name
|
67
|
+
"""Visit a python unary op node"""
|
68
|
+
self.visit(node.operand)
|
69
|
+
arg = self.stack.pop()
|
70
|
+
if isinstance(node.op, ast.UAdd):
|
71
|
+
self.stack.append(+arg)
|
72
|
+
elif isinstance(node.op, ast.USub):
|
73
|
+
self.stack.append(-arg)
|
74
|
+
elif isinstance(node.op, ast.Not):
|
75
|
+
self.stack.append(not arg)
|
76
|
+
elif isinstance(node.op, ast.Invert):
|
77
|
+
self.stack.append(~arg)
|
78
|
+
else:
|
79
|
+
raise QpyError(f"Invalid unary op as part of sympy srepr: {node.op}")
|
80
|
+
|
81
|
+
def visit_Constant(self, node: ast.Constant): # pylint: disable=invalid-name
|
82
|
+
"""Visit a constant node."""
|
83
|
+
self.stack.append(node.value)
|
84
|
+
|
85
|
+
def visit_Call(self, node: ast.Call): # pylint: disable=invalid-name
|
86
|
+
"""Visit a call node
|
87
|
+
|
88
|
+
This can only be parameter expression allowed sympy call types.
|
89
|
+
"""
|
90
|
+
import sympy
|
91
|
+
|
92
|
+
if isinstance(node.func, ast.Name):
|
93
|
+
name = node.func.id
|
94
|
+
else:
|
95
|
+
raise QpyError("Unknown node type")
|
96
|
+
|
97
|
+
if name not in ALLOWED_CALLERS:
|
98
|
+
raise QpyError(f"{name} is not part of a valid sympy expression srepr")
|
99
|
+
|
100
|
+
args = node.args
|
101
|
+
if name in UNARY:
|
102
|
+
if len(args) != 1:
|
103
|
+
raise QpyError(f"{name} has an invalid number of args in sympy srepr")
|
104
|
+
self.visit(args[0])
|
105
|
+
obj = getattr(sympy, name)(self.stack.pop())
|
106
|
+
self.stack.append(obj)
|
107
|
+
else:
|
108
|
+
for arg in args:
|
109
|
+
self.visit(arg)
|
110
|
+
out_args = [self.stack.pop() for _ in range(len(args))]
|
111
|
+
out_args.reverse()
|
112
|
+
obj = getattr(sympy, name)(*out_args)
|
113
|
+
self.stack.append(obj)
|
114
|
+
|
115
|
+
|
116
|
+
def parse_sympy_repr(sympy_repr: str):
|
117
|
+
"""Parse a given sympy srepr into a symbolic expression object."""
|
118
|
+
tree = ast.parse(sympy_repr, mode="eval")
|
119
|
+
visitor = ParseSympyWalker()
|
120
|
+
visitor.visit(tree)
|
121
|
+
return visitor.stack.pop()
|
qiskit/qpy/binary_io/value.py
CHANGED
@@ -34,6 +34,7 @@ from qiskit.circuit.parameterexpression import (
|
|
34
34
|
)
|
35
35
|
from qiskit.circuit.parametervector import ParameterVector, ParameterVectorElement
|
36
36
|
from qiskit.qpy import common, formats, exceptions, type_keys
|
37
|
+
from qiskit.qpy.binary_io.parse_sympy_repr import parse_sympy_repr
|
37
38
|
|
38
39
|
|
39
40
|
def _write_parameter(file_obj, obj):
|
@@ -473,9 +474,9 @@ def _read_parameter_expression(file_obj):
|
|
473
474
|
data = formats.PARAMETER_EXPR(
|
474
475
|
*struct.unpack(formats.PARAMETER_EXPR_PACK, file_obj.read(formats.PARAMETER_EXPR_SIZE))
|
475
476
|
)
|
476
|
-
from sympy.parsing.sympy_parser import parse_expr
|
477
477
|
|
478
|
-
|
478
|
+
sympy_str = file_obj.read(data.expr_size).decode(common.ENCODE)
|
479
|
+
expr_ = symengine.sympify(parse_sympy_repr(sympy_str))
|
479
480
|
symbol_map = {}
|
480
481
|
for _ in range(data.map_elements):
|
481
482
|
elem_data = formats.PARAM_EXPR_MAP_ELEM(
|
@@ -514,9 +515,8 @@ def _read_parameter_expression_v3(file_obj, vectors, use_symengine):
|
|
514
515
|
if use_symengine:
|
515
516
|
expr_ = common.load_symengine_payload(payload)
|
516
517
|
else:
|
517
|
-
|
518
|
-
|
519
|
-
expr_ = symengine.sympify(parse_expr(payload.decode(common.ENCODE)))
|
518
|
+
sympy_str = payload.decode(common.ENCODE)
|
519
|
+
expr_ = symengine.sympify(parse_sympy_repr(sympy_str))
|
520
520
|
|
521
521
|
symbol_map = {}
|
522
522
|
for _ in range(data.map_elements):
|
@@ -496,7 +496,6 @@ class TemplateSubstitution:
|
|
496
496
|
parameter constraints, returns None.
|
497
497
|
"""
|
498
498
|
import sympy as sym
|
499
|
-
from sympy.parsing.sympy_parser import parse_expr
|
500
499
|
|
501
500
|
if _optionals.HAS_SYMENGINE:
|
502
501
|
import symengine
|
@@ -572,7 +571,8 @@ class TemplateSubstitution:
|
|
572
571
|
if isinstance(circuit_param, ParameterExpression):
|
573
572
|
circ_param_sym = circuit_param.sympify()
|
574
573
|
else:
|
575
|
-
|
574
|
+
# if it's not a ParameterExpression we're a float
|
575
|
+
circ_param_sym = sym.Float(circuit_param)
|
576
576
|
equations.append(sym.Eq(template_param.sympify(), circ_param_sym))
|
577
577
|
|
578
578
|
for param in template_param.parameters:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: qiskit
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.0rc2
|
4
4
|
Summary: An open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
|
5
5
|
Author-email: Qiskit Development Team <qiskit@us.ibm.com>
|
6
6
|
License: Apache 2.0
|
@@ -1,6 +1,6 @@
|
|
1
|
-
qiskit/VERSION.txt,sha256=
|
1
|
+
qiskit/VERSION.txt,sha256=7aptyQ-2F8VHC1PykWxcrN6WGOVK7BfF8Ehq-dyauQY,9
|
2
2
|
qiskit/__init__.py,sha256=BAdBBkA5KfLScFyiI6le8qONUJysnbFwidu1DchfbWw,7408
|
3
|
-
qiskit/_accelerate.abi3.so,sha256=
|
3
|
+
qiskit/_accelerate.abi3.so,sha256=0OfuH-oCckqna3m79f8ZnMLB9KBf-f2c76ueutFf7vI,11003288
|
4
4
|
qiskit/_numpy_compat.py,sha256=ZlnDTF2KBTKcVF489ZuxoBk6r9KLsMuhAlozFhOn0a8,2815
|
5
5
|
qiskit/exceptions.py,sha256=78bbfww9680_v4CaNgepavY5DwGTN7_j47Ckob3lLPM,5619
|
6
6
|
qiskit/user_config.py,sha256=3ez0XDwu0WKnjdHB-LNk4XRTQl9Eu-WgqkXOC771pTs,10325
|
@@ -26,7 +26,7 @@ qiskit/circuit/instructionset.py,sha256=GtrxGA1Tnge96ke5Xd6pmLA-9CHxeKbfDHUfM6mn
|
|
26
26
|
qiskit/circuit/measure.py,sha256=eJZ_cRyOyogSyo2eQD8I0Q3uJ1QKZk1w9fTIyJzebhk,1811
|
27
27
|
qiskit/circuit/operation.py,sha256=5SrIb_ap6EVKRHMNud5t-Iu7RU3Hz_KFSFjUUfHuf9w,2077
|
28
28
|
qiskit/circuit/parameter.py,sha256=NqPG5MFEIbZU2jhWnOkTsQjlSnz79nI0qv85fwXp7dU,7104
|
29
|
-
qiskit/circuit/parameterexpression.py,sha256=
|
29
|
+
qiskit/circuit/parameterexpression.py,sha256=qZlcvGdtN9qaeAOc-WHDQOGAsGzjO-6VeIjfFbARbOY,27542
|
30
30
|
qiskit/circuit/parametertable.py,sha256=6sT2UO-U4MoHoz-w6UabDgdAZtpqdVfmJ-gb1uyVbqg,3269
|
31
31
|
qiskit/circuit/parametervector.py,sha256=2YfNejcpqiKPHFOVQP7MME3jqSRrjpXcBBQ7HCuqumA,4767
|
32
32
|
qiskit/circuit/quantumcircuit.py,sha256=TZRUr-h5YfbOPy6a9xzjSzlj-VdWGuMR0pFbmYdAKKc,309486
|
@@ -137,7 +137,7 @@ qiskit/circuit/library/standard_gates/h.py,sha256=hy35X6IEZgR4BiEGnbvoQztHMcNNYY
|
|
137
137
|
qiskit/circuit/library/standard_gates/i.py,sha256=flmOfJhb6CHzDtwbQZQERnnuHwIcYRRbwLHOxXLvvRU,2320
|
138
138
|
qiskit/circuit/library/standard_gates/iswap.py,sha256=2DEhBo_hY84R8Ep67hH6IdlOs0nghdhFAZlsp3juOps,3888
|
139
139
|
qiskit/circuit/library/standard_gates/p.py,sha256=adTtUejz7q-HYomQlG1dTCTb47aqH01bxLe6OrUnCBg,14076
|
140
|
-
qiskit/circuit/library/standard_gates/r.py,sha256=
|
140
|
+
qiskit/circuit/library/standard_gates/r.py,sha256=11eurd-8yvZbdJsHX5fbYNiig4Tw8_q2qBfrdcZqFWY,3867
|
141
141
|
qiskit/circuit/library/standard_gates/rx.py,sha256=KMBVhrHzrudafsvOOwu0gt9fQkIqsMuGSa_5C0_7Bes,10527
|
142
142
|
qiskit/circuit/library/standard_gates/rxx.py,sha256=KOmiK28qIAKx4erAjmp8rMjGBeT8uSFfcphhgTaq5FE,6557
|
143
143
|
qiskit/circuit/library/standard_gates/ry.py,sha256=vxSB70aqrRUmW3iFIXZXoMwQi36BguAaYSdd357lda4,10116
|
@@ -236,7 +236,7 @@ qiskit/circuit/library/templates/rzx/rzx_zz3.py,sha256=TOtQ6AjPxh5ZoAseiQOagfwDs
|
|
236
236
|
qiskit/circuit/random/__init__.py,sha256=8c5pzxEva0bHKI4d9bumaEgA7mUU7EdfNlJMKSKn61k,589
|
237
237
|
qiskit/circuit/random/utils.py,sha256=s47l_0aDOYdm18d9NG1J3K4-NEKyQJYaIqGjRcReKKE,15047
|
238
238
|
qiskit/circuit/tools/__init__.py,sha256=_Rpdz9Yqiksplpw9CSGq0gOAJDIxoXQ26BRkHi1x0HY,540
|
239
|
-
qiskit/circuit/tools/pi_check.py,sha256=
|
239
|
+
qiskit/circuit/tools/pi_check.py,sha256=QWFwVu2JFrCBoH4RTEiaiu1kAjLTQkBGqCFzZ8opI0o,7331
|
240
240
|
qiskit/compiler/__init__.py,sha256=oDzbHDFJQlrjnwsRZFfJJ5m_2ioDP6untCZP-8S_2os,802
|
241
241
|
qiskit/compiler/transpiler.py,sha256=tVl3Z90mq3UZLc1BXrW-Sf7TAJjmRYjK94efA1da_z8,18048
|
242
242
|
qiskit/converters/__init__.py,sha256=2GTLmBLr9Azkfn7cYAJ35rVEzGeSnot_aRuMKBPAkTM,2169
|
@@ -329,8 +329,9 @@ qiskit/qpy/interface.py,sha256=HVK0xJwLGs3ioemVfgU4jBKULbRTOVMdGO4tWQAPvYE,12558
|
|
329
329
|
qiskit/qpy/type_keys.py,sha256=-m_JhZXz7TDhxNFr1MCPz5m1zcfQfszofrbwHN2PR5E,10723
|
330
330
|
qiskit/qpy/binary_io/__init__.py,sha256=6rvwDWSLMXjTorczGI2dCHEVKuYWQ1_aBlzpohOF7wk,1047
|
331
331
|
qiskit/qpy/binary_io/circuits.py,sha256=XORHbsST4Tg8Hu4TJhjGQUKkTFpoB9hc---wi1seAD8,56967
|
332
|
+
qiskit/qpy/binary_io/parse_sympy_repr.py,sha256=68szuHlFtspE9_fDlSoW15gU56g3doK9vfV4THARMKE,3290
|
332
333
|
qiskit/qpy/binary_io/schedules.py,sha256=Z4MOsZVKQhFMGRIABU4cIFPVX92Sx8aQSk7GZU-rulo,11377
|
333
|
-
qiskit/qpy/binary_io/value.py,sha256=
|
334
|
+
qiskit/qpy/binary_io/value.py,sha256=BAGJk-D3O9aylEyOYWroKvgm4Y_OoLVk95RtnweyQk8,46282
|
334
335
|
qiskit/quantum_info/__init__.py,sha256=YnnktJ0Fu1vrN2o6YrgKFIE5jgo1cu_lXvmXv0x6DJU,3427
|
335
336
|
qiskit/quantum_info/quaternion.py,sha256=z4zFPPEmzrP3XqNiPloxbLHRBSI-YOCxDYfIIppo_3M,4884
|
336
337
|
qiskit/quantum_info/random.py,sha256=jOXP_QIpfxb-oXoWdCVBN8Js6DqKu2tD3veQZ_D-3Hc,915
|
@@ -571,7 +572,7 @@ qiskit/transpiler/passes/optimization/template_matching/backward_match.py,sha256
|
|
571
572
|
qiskit/transpiler/passes/optimization/template_matching/forward_match.py,sha256=z9dCJAKLGzpYUXYS0zu7--120tsycIFTdBc0TtP3hgs,17310
|
572
573
|
qiskit/transpiler/passes/optimization/template_matching/maximal_matches.py,sha256=cZDRpCGZaQAbDQDDLQrWoL0Eybp0WcKq8-x1JVNYw1g,2437
|
573
574
|
qiskit/transpiler/passes/optimization/template_matching/template_matching.py,sha256=Rmry8mO4rgB1uWvQ4UC7XGVjh53VT8eR-uQzRO3o9Xs,17655
|
574
|
-
qiskit/transpiler/passes/optimization/template_matching/template_substitution.py,sha256=
|
575
|
+
qiskit/transpiler/passes/optimization/template_matching/template_substitution.py,sha256=Qwfe9UFFaQzR1SvfaBk62jPi5kiMf285ai38aZodV7I,25916
|
575
576
|
qiskit/transpiler/passes/routing/__init__.py,sha256=OL-E0K_-kEaYf_7Dxtlg6-7alBNnC_LCxPD5ODwVA5o,898
|
576
577
|
qiskit/transpiler/passes/routing/basic_swap.py,sha256=SreeyuuPeeciL_Zu43w7V83JaRnu2lNZU5uyJmQK3FQ,6730
|
577
578
|
qiskit/transpiler/passes/routing/layout_transformation.py,sha256=4Hz0y11jfZcFJ0vfCiqtbdDcYNxxhhvf12eJW04SecA,4685
|
@@ -681,9 +682,9 @@ qiskit/visualization/timeline/types.py,sha256=-mp8Oh7FrDvmCJGfFjViuY_SGuJMZZdkxJ
|
|
681
682
|
qiskit/visualization/timeline/plotters/__init__.py,sha256=3uM5AgCcqxqBHhslUGjjmqEL6Q04hVSGvl3d2bsUtTI,572
|
682
683
|
qiskit/visualization/timeline/plotters/base_plotter.py,sha256=1do-sZjHjUzqh3HI3MtN4jXJiLEE1j1f56JSXaR_C68,1747
|
683
684
|
qiskit/visualization/timeline/plotters/matplotlib.py,sha256=4PfgOQCJa4dzwEpGR9me403DKyJ7W6Gk2PVINOTxQpM,6894
|
684
|
-
qiskit-2.0.
|
685
|
-
qiskit-2.0.
|
686
|
-
qiskit-2.0.
|
687
|
-
qiskit-2.0.
|
688
|
-
qiskit-2.0.
|
689
|
-
qiskit-2.0.
|
685
|
+
qiskit-2.0.0rc2.dist-info/LICENSE.txt,sha256=IXrBXbzaJ4LgBPUVKIbYR5iMY2eqoMT8jDVTY8Ib0iQ,11416
|
686
|
+
qiskit-2.0.0rc2.dist-info/METADATA,sha256=CE7YDI1MvLcGPOOFCuTEV41bD0eAPeudyh9PMn8FfAM,12732
|
687
|
+
qiskit-2.0.0rc2.dist-info/WHEEL,sha256=KTDFJkDvZIjnqdwIpF1RkAzuH8E1ynyWpKqiZK1bK9g,149
|
688
|
+
qiskit-2.0.0rc2.dist-info/entry_points.txt,sha256=s7DbN_JlupsHGMLE4SzM0OObcstvjMeUlc7ZWTaJIp0,6238
|
689
|
+
qiskit-2.0.0rc2.dist-info/top_level.txt,sha256=_vjFXLv7qrHyJJOC2-JXfG54o4XQygW9GuQPxgtSt9Q,7
|
690
|
+
qiskit-2.0.0rc2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|