classiq 0.91.1__py3-none-any.whl → 0.93.0__py3-none-any.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.
Files changed (43) hide show
  1. classiq/__init__.py +13 -0
  2. classiq/_internals/config.py +1 -1
  3. classiq/analyzer/show_interactive_hack.py +1 -1
  4. classiq/applications/__init__.py +2 -6
  5. classiq/applications/qsp/__init__.py +7 -0
  6. classiq/applications/qsp/qsp.py +366 -0
  7. classiq/evaluators/parameter_types.py +13 -7
  8. classiq/execution/jobs.py +18 -8
  9. classiq/interface/_version.py +1 -1
  10. classiq/interface/backend/backend_preferences.py +8 -8
  11. classiq/interface/exceptions.py +4 -0
  12. classiq/interface/executor/result.py +4 -0
  13. classiq/interface/generator/functions/builtins/internal_operators.py +1 -0
  14. classiq/interface/generator/generated_circuit_data.py +5 -17
  15. classiq/interface/generator/transpiler_basis_gates.py +1 -1
  16. classiq/interface/helpers/versioned_model.py +0 -2
  17. classiq/interface/interface_version.py +1 -1
  18. classiq/interface/model/bind_operation.py +0 -12
  19. classiq/interface/model/handle_binding.py +3 -0
  20. classiq/interface/model/skip_control.py +11 -0
  21. classiq/interface/model/statement_block.py +3 -0
  22. classiq/interface/server/routes.py +0 -3
  23. classiq/model_expansions/interpreters/generative_interpreter.py +18 -1
  24. classiq/model_expansions/quantum_operations/assignment_result_processor.py +6 -0
  25. classiq/model_expansions/quantum_operations/bind.py +14 -0
  26. classiq/model_expansions/quantum_operations/skip_control_verifier.py +20 -0
  27. classiq/model_expansions/quantum_operations/variable_decleration.py +59 -27
  28. classiq/open_library/functions/__init__.py +2 -0
  29. classiq/open_library/functions/discrete_sine_cosine_transform.py +15 -10
  30. classiq/open_library/functions/qsvt.py +60 -6
  31. classiq/qmod/builtins/operations.py +24 -0
  32. classiq/qmod/classical_variable.py +4 -2
  33. classiq/qmod/native/pretty_printer.py +8 -0
  34. classiq/qmod/pretty_print/pretty_printer.py +5 -0
  35. classiq/qmod/quantum_expandable.py +31 -15
  36. classiq/qmod/symbolic_expr.py +12 -4
  37. classiq/synthesis.py +1 -1
  38. {classiq-0.91.1.dist-info → classiq-0.93.0.dist-info}/METADATA +39 -34
  39. {classiq-0.91.1.dist-info → classiq-0.93.0.dist-info}/RECORD +41 -37
  40. classiq-0.93.0.dist-info/WHEEL +4 -0
  41. classiq-0.93.0.dist-info/licenses/LICENSE.txt +27 -0
  42. classiq/interface/ide/ide_data.py +0 -102
  43. classiq-0.91.1.dist-info/WHEEL +0 -4
@@ -1,102 +0,0 @@
1
- from enum import IntEnum
2
- from typing import Optional, Union
3
-
4
- import pydantic
5
-
6
- from classiq.interface.generator.generated_circuit_data import GeneratedFunction
7
- from classiq.interface.generator.hardware.hardware_data import SynthesisHardwareData
8
- from classiq.interface.helpers.versioned_model import VersionedModel
9
- from classiq.interface.ide.visual_model import CircuitMetrics
10
-
11
- GateCount = dict[str, int]
12
- Depth = int
13
-
14
-
15
- class IDEDataQubit(pydantic.BaseModel):
16
- id: int
17
- numChildren: Optional[int] = None
18
- name: Optional[str] = None
19
-
20
-
21
- class IDEQubitDef(pydantic.BaseModel):
22
- qId: int
23
-
24
-
25
- class RegisterType(IntEnum):
26
- QUBIT = 0
27
- CLASSICAL = 1
28
-
29
-
30
- class IDEClassicalBitDef(pydantic.BaseModel):
31
- type: RegisterType
32
- qId: int
33
- cId: int
34
-
35
-
36
- class DataAttributes(pydantic.BaseModel):
37
- tooltip: Optional[GeneratedFunction] = None
38
- expanded: str = ""
39
- controlStates: str = ""
40
- id: str = ""
41
- zoom_out: str = ""
42
- zoom_in: str = ""
43
-
44
-
45
- class ConditionalRender(IntEnum):
46
- ALWAYS = 0
47
- ON_ZERO = 1
48
- ON_ONE = 2
49
- AS_GROUP = 3
50
-
51
-
52
- class IDEDataOperation(pydantic.BaseModel):
53
- gate: str
54
- displayName: str
55
- children: list["IDEDataOperation"]
56
- depth: Depth
57
- width: int
58
- gate_count: GateCount
59
- _qubits: list = pydantic.PrivateAttr() # list[Qubit]
60
-
61
- displayArgs: str = ""
62
- targets: Union[list[IDEQubitDef], list[IDEClassicalBitDef]] = pydantic.Field( # type: ignore[assignment]
63
- default_factory=list
64
- )
65
- controls: list[IDEQubitDef] = list()
66
- dataAttributes: DataAttributes = pydantic.Field(default_factory=DataAttributes)
67
- isControlled: bool = False
68
- isMeasurement: bool = False
69
- isConditional: bool = False
70
- isAdjoint: bool = False
71
- conditional_render: Optional[ConditionalRender] = None
72
-
73
- @property
74
- def qubits(self) -> list: # list[Qubit]
75
- return self._qubits
76
-
77
-
78
- class IDEDataProperties(pydantic.BaseModel):
79
- color: Optional[str] = None
80
- rightLabel: Optional[str] = None
81
- leftLabel: Optional[str] = None
82
-
83
-
84
- class RegisterData(pydantic.BaseModel):
85
- segmentIds: list[str]
86
- properties: IDEDataProperties
87
- registerId: str
88
-
89
-
90
- class InterfaceSegmentData(pydantic.BaseModel):
91
- segmentId: str
92
- properties: IDEDataProperties
93
-
94
-
95
- class IDEData(VersionedModel):
96
- qubits: list[IDEDataQubit]
97
- operations: list[IDEDataOperation]
98
- register_data: list[RegisterData]
99
- segment_data: list[InterfaceSegmentData]
100
- circuit_metrics: Optional[CircuitMetrics]
101
- hardware_data: SynthesisHardwareData
102
- creation_time: str
@@ -1,4 +0,0 @@
1
- Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
3
- Root-Is-Purelib: true
4
- Tag: py3-none-any