iqm-pulse 10.5.0__tar.gz → 11.0.0__tar.gz

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.
Files changed (82) hide show
  1. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/CHANGELOG.rst +8 -0
  2. {iqm_pulse-10.5.0/src/iqm_pulse.egg-info → iqm_pulse-11.0.0}/PKG-INFO +1 -1
  3. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/default_gates.py +10 -1
  4. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/reset.py +3 -9
  5. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0/src/iqm_pulse.egg-info}/PKG-INFO +1 -1
  6. iqm_pulse-11.0.0/version.txt +1 -0
  7. iqm_pulse-10.5.0/version.txt +0 -1
  8. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/LICENSE.txt +0 -0
  9. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/MANIFEST.in +0 -0
  10. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/README.rst +0 -0
  11. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/API.rst +0 -0
  12. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/Makefile +0 -0
  13. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/.gitignore +0 -0
  14. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/css/custom.css +0 -0
  15. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/images/favicon.ico +0 -0
  16. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/images/feedback_timing.svg +0 -0
  17. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/images/logo.png +0 -0
  18. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/images/playlist_breakdown.svg +0 -0
  19. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/images/pulse_timing.svg +0 -0
  20. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_static/images/readout_timing.svg +0 -0
  21. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_templates/autosummary-class-template.rst +0 -0
  22. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/_templates/autosummary-module-template.rst +0 -0
  23. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/changelog.rst +0 -0
  24. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/concepts.rst +0 -0
  25. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/conf.py +0 -0
  26. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/custom_gates.rst +0 -0
  27. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/index.rst +0 -0
  28. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/license.rst +0 -0
  29. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/pulse_timing.rst +0 -0
  30. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/references.bib +0 -0
  31. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/references.rst +0 -0
  32. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/docs/using_builder.rst +0 -0
  33. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/pyproject.toml +0 -0
  34. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/requirements/base.in +0 -0
  35. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/requirements/base.txt +0 -0
  36. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/setup.cfg +0 -0
  37. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/setup.py +0 -0
  38. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/__init__.py +0 -0
  39. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/base_utils.py +0 -0
  40. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/builder.py +0 -0
  41. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/circuit_operations.py +0 -0
  42. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gate_implementation.py +0 -0
  43. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/__init__.py +0 -0
  44. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/barrier.py +0 -0
  45. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/conditional.py +0 -0
  46. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/cz.py +0 -0
  47. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/delay.py +0 -0
  48. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/enums.py +0 -0
  49. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/flux_multiplexer.py +0 -0
  50. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/measure.py +0 -0
  51. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/move.py +0 -0
  52. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/prx.py +0 -0
  53. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/rz.py +0 -0
  54. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/sx.py +0 -0
  55. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/gates/u.py +0 -0
  56. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/__init__.py +0 -0
  57. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/channel.py +0 -0
  58. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/fast_drag.py +0 -0
  59. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/hd_drag.py +0 -0
  60. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/instructions.py +0 -0
  61. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/playlist.py +0 -0
  62. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/schedule.py +0 -0
  63. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/__init__.py +0 -0
  64. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/base.py +0 -0
  65. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/templates/playlist_inspection.jinja2 +0 -0
  66. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/templates/static/logo.png +0 -0
  67. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/templates/static/moment.min.js +0 -0
  68. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/templates/static/vis-timeline-graph2d.min.css +0 -0
  69. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/visualisation/templates/static/vis-timeline-graph2d.min.js +0 -0
  70. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/playlist/waveforms.py +0 -0
  71. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/py.typed +0 -0
  72. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/quantum_ops.py +0 -0
  73. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/scheduler.py +0 -0
  74. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/timebox.py +0 -0
  75. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/utils.py +0 -0
  76. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm/pulse/validation.py +0 -0
  77. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm_pulse.egg-info/SOURCES.txt +0 -0
  78. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm_pulse.egg-info/dependency_links.txt +0 -0
  79. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm_pulse.egg-info/requires.txt +0 -0
  80. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/src/iqm_pulse.egg-info/top_level.txt +0 -0
  81. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/tests/.pylintrc +0 -0
  82. {iqm_pulse-10.5.0 → iqm_pulse-11.0.0}/tests/__init__.py +0 -0
@@ -2,6 +2,14 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 11.0.0 (2025-09-08)
6
+ ===========================
7
+
8
+ Features
9
+ --------
10
+
11
+ - Split the measure QuantumOp into measure (QND mid-circuit-measure) and measure_fidelity (terminal measure that might not be QND)
12
+
5
13
  Version 10.5.0 (2025-09-03)
6
14
  ===========================
7
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-pulse
3
- Version: 10.5.0
3
+ Version: 11.0.0
4
4
  Summary: A Python-based project for providing interface and implementations for control pulses.
5
5
  Author-email: IQM Finland Oy <info@meetiqm.com>
6
6
  License: Apache License
@@ -68,7 +68,9 @@ _implementation_library: dict[str, dict[str, type[GateImplementation]]] = {
68
68
  "delay": {"wait": Delay},
69
69
  "measure": {
70
70
  "constant": Measure_Constant,
71
- "constant_qnd": Measure_Constant,
71
+ },
72
+ "measure_fidelity": {
73
+ "constant": Measure_Constant,
72
74
  "shelved_constant": Shelved_Measure_Constant,
73
75
  },
74
76
  "prx": {
@@ -134,6 +136,13 @@ _quantum_ops_library = {
134
136
  implementations=_implementation_library["measure"],
135
137
  factorizable=True,
136
138
  ),
139
+ QuantumOp(
140
+ "measure_fidelity",
141
+ 0,
142
+ ("key",),
143
+ implementations=_implementation_library["measure_fidelity"],
144
+ factorizable=True,
145
+ ),
137
146
  QuantumOp(
138
147
  "prx",
139
148
  1,
@@ -62,15 +62,9 @@ class Reset_Conditional(CompositeGate):
62
62
  for q in self.locus
63
63
  if "drive" in self.builder.component_channels[q] and q in self.builder.chip_topology.component_to_probe_line
64
64
  )
65
- # try to get a qnd measurement, otherwise use default one
66
- try: # TODO: should the QND measurement be its own QuantumOp instead?
67
- probe_timebox = self.build("measure", resettable, impl_name="constant_qnd").probe_timebox( # type: ignore[attr-defined]
68
- RESET_MEASUREMENT_KEY, feedback_key=RESET_FEEDBACK_KEY
69
- )
70
- except (ValueError, KeyError):
71
- probe_timebox = self.build("measure", resettable).probe_timebox( # type: ignore[attr-defined]
72
- RESET_MEASUREMENT_KEY, feedback_key=RESET_FEEDBACK_KEY
73
- )
65
+ probe_timebox = self.build("measure", resettable).probe_timebox( # type: ignore[attr-defined]
66
+ RESET_MEASUREMENT_KEY, feedback_key=RESET_FEEDBACK_KEY
67
+ )
74
68
  virtual_channels = set()
75
69
  probes = set()
76
70
  resets = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-pulse
3
- Version: 10.5.0
3
+ Version: 11.0.0
4
4
  Summary: A Python-based project for providing interface and implementations for control pulses.
5
5
  Author-email: IQM Finland Oy <info@meetiqm.com>
6
6
  License: Apache License
@@ -0,0 +1 @@
1
+ 11.0.0
@@ -1 +0,0 @@
1
- 10.5.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes