iqm-pulla 9.2.0__tar.gz → 9.3.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 (75) hide show
  1. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/CHANGELOG.rst +8 -0
  2. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/PKG-INFO +1 -1
  3. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/utils_qir.py +2 -2
  4. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm_pulla.egg-info/PKG-INFO +1 -1
  5. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm_pulla.egg-info/SOURCES.txt +0 -1
  6. iqm_pulla-9.3.0/version.txt +1 -0
  7. iqm_pulla-9.2.0/src/iqm/cpc/compiler/circuit_compilation_request_handler.py +0 -100
  8. iqm_pulla-9.2.0/version.txt +0 -1
  9. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/AUTHORS.rst +0 -0
  10. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/LICENSE.txt +0 -0
  11. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/MANIFEST.in +0 -0
  12. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/README.rst +0 -0
  13. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/API.rst +0 -0
  14. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Compilation Stages.ipynb +0 -0
  15. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Configuration and Usage.ipynb +0 -0
  16. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Custom Gates and Implementations.ipynb +0 -0
  17. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Example - Compilation With Local Calibration Set.ipynb +0 -0
  18. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Example - Executing QIR programs.ipynb +0 -0
  19. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Example - Measuring T1.ipynb +0 -0
  20. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Example - Randomized Benchmarking.ipynb +0 -0
  21. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Example - Simple Dynamical Decoupling.ipynb +0 -0
  22. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/Quick Start.ipynb +0 -0
  23. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/_static/images/favicon.ico +0 -0
  24. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/_static/images/logo.png +0 -0
  25. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/_templates/autosummary-class-template.rst +0 -0
  26. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/_templates/autosummary-module-template.rst +0 -0
  27. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/authors.rst +0 -0
  28. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/changelog.rst +0 -0
  29. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/common_errors.rst +0 -0
  30. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/conf.py +0 -0
  31. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/examples.rst +0 -0
  32. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/index.rst +0 -0
  33. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/license.rst +0 -0
  34. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/migration_guide.rst +0 -0
  35. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/readme.rst +0 -0
  36. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/references.bib +0 -0
  37. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/references.rst +0 -0
  38. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/docs/user_guides.rst +0 -0
  39. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/pyproject.toml +0 -0
  40. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/base.in +0 -0
  41. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/base.txt +0 -0
  42. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/notebook.in +0 -0
  43. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/notebook.txt +0 -0
  44. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/qir.in +0 -0
  45. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/qir.txt +0 -0
  46. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/qiskit.in +0 -0
  47. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/requirements/qiskit.txt +0 -0
  48. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/setup.cfg +0 -0
  49. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/setup.py +0 -0
  50. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/__init__.py +0 -0
  51. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/compiler/__init__.py +0 -0
  52. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/compiler/compiler.py +0 -0
  53. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/compiler/dd.py +0 -0
  54. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/compiler/errors.py +0 -0
  55. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/compiler/standard_stages.py +0 -0
  56. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/compiler/station_settings.py +0 -0
  57. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/interface/__init__.py +0 -0
  58. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/interface/compiler.py +0 -0
  59. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/cpc/py.typed +0 -0
  60. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/__init__.py +0 -0
  61. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/calibration.py +0 -0
  62. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/interface.py +0 -0
  63. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/pulla.py +0 -0
  64. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/py.typed +0 -0
  65. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/quantum_architecture.py +0 -0
  66. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/utils.py +0 -0
  67. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/utils_cirq.py +0 -0
  68. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/utils_dd.py +0 -0
  69. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm/pulla/utils_qiskit.py +0 -0
  70. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm_pulla.egg-info/dependency_links.txt +0 -0
  71. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm_pulla.egg-info/requires.txt +0 -0
  72. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/src/iqm_pulla.egg-info/top_level.txt +0 -0
  73. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/tests/.pylintrc +0 -0
  74. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/tests/__init__.py +0 -0
  75. {iqm_pulla-9.2.0 → iqm_pulla-9.3.0}/tests/conftest.py +0 -0
@@ -2,6 +2,14 @@
2
2
  Changelog
3
3
  =========
4
4
 
5
+ Version 9.3.0 (2025-08-05)
6
+ ==========================
7
+
8
+ Features
9
+ --------
10
+
11
+ - Require compiler instead of Pulla in qir_to_pulla
12
+
5
13
  Version 9.2.0 (2025-07-31)
6
14
  ==========================
7
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-pulla
3
- Version: 9.2.0
3
+ Version: 9.3.0
4
4
  Summary: Client library for pulse-level access to an IQM quantum computer
5
5
  Author-email: IQM Finland Oy <developers@meetiqm.com>
6
6
  License: Apache License
@@ -263,8 +263,8 @@ def generate_qiskit_qir_qubit_mapping(qiskit_circuit: QuantumCircuit, qiskit_bac
263
263
  Then we assign qiskit-qir index to the qiskit logic qubit idx.
264
264
 
265
265
  Args:
266
- qiskit_circuit: Qiskit circuit to generate the mapping for.
267
- qiskit_backend: Qiskit backend object to be used for qubit name generation.
266
+ qiskit_circuit: The Qiskit circuit to generate the mapping for.
267
+ qiskit_backend: The Qiskit backend object to be used for qubit name generation.
268
268
 
269
269
  Returns:
270
270
  A dictionary mapping Qiskit qubit indices to QIR qubit pointers.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqm-pulla
3
- Version: 9.2.0
3
+ Version: 9.3.0
4
4
  Summary: Client library for pulse-level access to an IQM quantum computer
5
5
  Author-email: IQM Finland Oy <developers@meetiqm.com>
6
6
  License: Apache License
@@ -43,7 +43,6 @@ requirements/qiskit.txt
43
43
  src/iqm/cpc/__init__.py
44
44
  src/iqm/cpc/py.typed
45
45
  src/iqm/cpc/compiler/__init__.py
46
- src/iqm/cpc/compiler/circuit_compilation_request_handler.py
47
46
  src/iqm/cpc/compiler/compiler.py
48
47
  src/iqm/cpc/compiler/dd.py
49
48
  src/iqm/cpc/compiler/errors.py
@@ -0,0 +1 @@
1
+ 9.3.0
@@ -1,100 +0,0 @@
1
- # Copyright 2024-2025 IQM
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- """Convert quantum circuits into instruction schedules.
15
-
16
- This is the entry-point for integrations, e.g. for a server-side component performing circuit-to-pulse compilation.
17
- """
18
-
19
- import logging
20
- from typing import Any
21
-
22
- from opentelemetry import context as telemetry_context
23
- from opentelemetry import propagate
24
-
25
- from exa.common.data.setting_node import SettingNode
26
- from exa.common.qcm_data.chip_topology import ChipTopology
27
- from iqm.cpc.compiler.compiler import Compiler, cpc_logger, tracer
28
- from iqm.cpc.compiler.standard_stages import get_standard_stages
29
- from iqm.cpc.interface.compiler import CircuitBatch, CircuitCompilationResult, CircuitExecutionOptions
30
- from iqm.pulla.interface import CalibrationSet
31
- from iqm.pulse.playlist.channel import ChannelProperties
32
-
33
-
34
- def handle_circuit_compilation_request( # noqa: PLR0913
35
- job_id: str,
36
- circuits: CircuitBatch,
37
- shots: int,
38
- calibration_set: CalibrationSet,
39
- chip_topology: ChipTopology,
40
- channel_properties: dict[str, ChannelProperties],
41
- component_channels: dict[str, dict[str, str]],
42
- options: CircuitExecutionOptions,
43
- custom_settings: SettingNode | None,
44
- qubit_mapping: dict[str, str] | None,
45
- trace_context: dict[str, Any] | None,
46
- ) -> CircuitCompilationResult:
47
- """Compile a batch of quantum circuits into a form that can be executed by Station Control.
48
-
49
- Args:
50
- job_id: ID of the job requesting compilation, used in logging
51
- circuits: quantum circuits to compile into schedules
52
- shots: number of times to repeat the execution of each circuit
53
- calibration_set: calibration data for the station the circuits are executed on
54
- chip_topology: topology of the QPU the circuits are executed on
55
- channel_properties: properties of control channels on the station
56
- component_channels: QPU component to function to channel mapping
57
- options: various discrete options for circuit execution that affect compilation
58
- custom_settings: additional Station Control settings to override generated settings
59
- qubit_mapping: Mapping of logical qubit names to physical qubit names. ``None`` means the identity mapping.
60
- trace_context: telemetry context to be propagated during circuit compilation
61
-
62
- Returns:
63
- circuit compilation result
64
-
65
- """
66
- if trace_context:
67
- telemetry_context.attach(propagate.extract(trace_context))
68
- cpc_logger.debug("Compiling circuits for job %s", job_id)
69
-
70
- with tracer.start_as_current_span("prepare_compilation"):
71
- if cpc_logger.isEnabledFor(logging.DEBUG):
72
- cpc_logger.debug(
73
- "calibration set contents:\n%s",
74
- "".join(f" {k:60s}: {v}\n" for k, v in calibration_set.items()),
75
- )
76
- compiler = Compiler(
77
- calibration_set=calibration_set,
78
- chip_topology=chip_topology,
79
- channel_properties=channel_properties,
80
- component_channels=component_channels,
81
- component_mapping=qubit_mapping,
82
- options=options,
83
- stages=get_standard_stages(idempotent=False),
84
- strict=True,
85
- )
86
-
87
- with tracer.start_as_current_span("compile_circuits", attributes={"len(circuits)": len(circuits)}):
88
- playlist, compilation_context = compiler.compile(circuits)
89
-
90
- with tracer.start_as_current_span("build_settings"):
91
- compilation_context["custom_settings"] = custom_settings
92
- settings, compilation_context = compiler.build_settings(compilation_context, shots)
93
-
94
- with tracer.start_as_current_span("prepare_compilation_results"):
95
- return CircuitCompilationResult(
96
- playlist=playlist,
97
- readout_mappings=compilation_context["readout_mappings"],
98
- settings=settings,
99
- circuit_metrics=compilation_context["circuit_metrics"],
100
- )
@@ -1 +0,0 @@
1
- 9.2.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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes