classiq 0.42.2__py3-none-any.whl → 0.43.1__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 (113) hide show
  1. classiq/__init__.py +2 -6
  2. classiq/_internals/api_wrapper.py +6 -12
  3. classiq/_internals/authentication/token_manager.py +5 -2
  4. classiq/_internals/jobs.py +5 -10
  5. classiq/analyzer/rb.py +3 -3
  6. classiq/applications/chemistry/chemistry_model_constructor.py +12 -8
  7. classiq/applications/combinatorial_helpers/pauli_helpers/pauli_utils.py +2 -2
  8. classiq/applications/finance/finance_model_constructor.py +16 -13
  9. classiq/applications/qsvm/__init__.py +1 -3
  10. classiq/applications/qsvm/qsvm_model_constructor.py +7 -6
  11. classiq/exceptions.py +9 -4
  12. classiq/execution/execution_session.py +5 -2
  13. classiq/execution/qnn.py +1 -1
  14. classiq/executor.py +0 -2
  15. classiq/interface/_version.py +1 -1
  16. classiq/interface/chemistry/operator.py +19 -5
  17. classiq/interface/executor/constants.py +1 -0
  18. classiq/interface/finance/function_input.py +16 -10
  19. classiq/interface/generator/application_apis/chemistry_declarations.py +2 -2
  20. classiq/interface/generator/application_apis/qsvm_declarations.py +4 -2
  21. classiq/interface/generator/arith/argument_utils.py +20 -3
  22. classiq/interface/generator/arith/arithmetic_expression_validator.py +3 -26
  23. classiq/interface/generator/arith/binary_ops.py +8 -14
  24. classiq/interface/generator/arith/extremum_operations.py +30 -0
  25. classiq/interface/generator/arith/number_utils.py +1 -1
  26. classiq/interface/generator/arith/unary_ops.py +1 -3
  27. classiq/interface/generator/compiler_keywords.py +1 -1
  28. classiq/interface/generator/expressions/atomic_expression_functions.py +13 -3
  29. classiq/interface/generator/expressions/enums/__init__.py +0 -20
  30. classiq/interface/generator/expressions/enums/finance_functions.py +11 -18
  31. classiq/interface/generator/expressions/non_symbolic_expr.py +119 -0
  32. classiq/interface/generator/expressions/qmod_qarray_proxy.py +52 -37
  33. classiq/interface/generator/expressions/qmod_qscalar_proxy.py +16 -11
  34. classiq/interface/generator/expressions/qmod_sized_proxy.py +5 -5
  35. classiq/interface/generator/function_param_list_without_self_reference.py +0 -10
  36. classiq/interface/generator/function_params.py +0 -4
  37. classiq/interface/generator/functions/__init__.py +0 -20
  38. classiq/interface/generator/functions/builtins/core_library/exponentiation_functions.py +2 -2
  39. classiq/interface/generator/functions/builtins/open_lib_functions.py +530 -1
  40. classiq/interface/generator/functions/classical_type.py +22 -69
  41. classiq/interface/generator/functions/port_declaration.py +0 -11
  42. classiq/interface/generator/model/__init__.py +0 -1
  43. classiq/interface/generator/model/model.py +9 -185
  44. classiq/interface/generator/synthesis_metadata/synthesis_execution_data.py +3 -1
  45. classiq/interface/generator/types/builtin_enum_declarations.py +69 -0
  46. classiq/interface/generator/types/builtin_struct_declarations/pauli_struct_declarations.py +2 -2
  47. classiq/interface/generator/types/enum_declaration.py +57 -0
  48. classiq/interface/jobs.py +36 -65
  49. classiq/interface/model/bind_operation.py +3 -0
  50. classiq/interface/model/classical_parameter_declaration.py +3 -0
  51. classiq/interface/model/handle_binding.py +7 -0
  52. classiq/interface/model/inplace_binary_operation.py +13 -15
  53. classiq/interface/model/model.py +8 -20
  54. classiq/interface/model/native_function_definition.py +0 -17
  55. classiq/interface/model/quantum_function_call.py +63 -182
  56. classiq/interface/model/quantum_type.py +71 -10
  57. classiq/interface/server/routes.py +0 -6
  58. classiq/qmod/__init__.py +3 -3
  59. classiq/qmod/builtins/__init__.py +10 -1
  60. classiq/qmod/builtins/classical_execution_primitives.py +4 -2
  61. classiq/qmod/builtins/enums.py +177 -0
  62. classiq/qmod/builtins/functions.py +1 -2
  63. classiq/qmod/builtins/operations.py +2 -4
  64. classiq/qmod/builtins/structs.py +16 -17
  65. classiq/qmod/declaration_inferrer.py +23 -20
  66. classiq/qmod/model_state_container.py +2 -0
  67. classiq/qmod/native/pretty_printer.py +31 -13
  68. classiq/qmod/pretty_print/pretty_printer.py +52 -27
  69. classiq/qmod/qmod_constant.py +7 -3
  70. classiq/qmod/qmod_parameter.py +2 -1
  71. classiq/qmod/qmod_struct.py +9 -33
  72. classiq/qmod/qmod_variable.py +55 -22
  73. classiq/qmod/quantum_callable.py +6 -1
  74. classiq/qmod/quantum_expandable.py +29 -11
  75. classiq/qmod/quantum_function.py +8 -4
  76. classiq/qmod/semantics/annotation.py +38 -0
  77. classiq/qmod/semantics/error_manager.py +49 -0
  78. classiq/qmod/semantics/static_semantics_visitor.py +308 -0
  79. classiq/qmod/semantics/validation/func_call_validation.py +149 -0
  80. classiq/qmod/semantics/validation/types_validation.py +21 -0
  81. classiq/qmod/symbolic.py +6 -6
  82. classiq/qmod/symbolic_expr.py +26 -11
  83. classiq/qmod/utilities.py +23 -1
  84. {classiq-0.42.2.dist-info → classiq-0.43.1.dist-info}/METADATA +2 -2
  85. {classiq-0.42.2.dist-info → classiq-0.43.1.dist-info}/RECORD +88 -103
  86. classiq/_internals/_qfunc_ext.py +0 -6
  87. classiq/applications/libraries/ampltitude_estimation_library.py +0 -11
  88. classiq/interface/generator/credit_risk_example/linear_gci.py +0 -122
  89. classiq/interface/generator/credit_risk_example/weighted_adder.py +0 -69
  90. classiq/interface/generator/expressions/enums/chemistry.py +0 -28
  91. classiq/interface/generator/expressions/enums/classical_enum.py +0 -20
  92. classiq/interface/generator/expressions/enums/ladder_operator.py +0 -6
  93. classiq/interface/generator/expressions/enums/optimizers.py +0 -9
  94. classiq/interface/generator/expressions/enums/pauli.py +0 -8
  95. classiq/interface/generator/expressions/enums/qsvm_feature_map_entanglement.py +0 -9
  96. classiq/interface/generator/functions/foreign_function_definition.py +0 -114
  97. classiq/interface/generator/functions/function_implementation.py +0 -107
  98. classiq/interface/generator/functions/native_function_definition.py +0 -155
  99. classiq/interface/generator/functions/quantum_function_declaration.py +0 -69
  100. classiq/interface/generator/functions/register.py +0 -44
  101. classiq/interface/generator/functions/register_mapping_data.py +0 -106
  102. classiq/interface/generator/inequality_mixer.py +0 -51
  103. classiq/interface/generator/model/classical_main_validator.py +0 -106
  104. classiq/interface/generator/range_mixer.py +0 -56
  105. classiq/interface/generator/state_propagator.py +0 -74
  106. classiq/interface/model/resolvers/function_call_resolver.py +0 -64
  107. classiq/interface/model/validations/__init__.py +0 -0
  108. classiq/interface/model/validations/handle_validation_base.py +0 -55
  109. classiq/interface/model/validations/handles_validator.py +0 -153
  110. classiq/interface/model/validations/port_to_wire_name_generator.py +0 -12
  111. /classiq/{interface/generator/credit_risk_example → qmod/semantics}/__init__.py +0 -0
  112. /classiq/{interface/model/resolvers → qmod/semantics/validation}/__init__.py +0 -0
  113. {classiq-0.42.2.dist-info → classiq-0.43.1.dist-info}/WHEEL +0 -0
@@ -28,8 +28,6 @@ from classiq.interface.generator.arith.unary_ops import BitwiseInvert, Negation,
28
28
  from classiq.interface.generator.commuting_pauli_exponentiation import (
29
29
  CommutingPauliExponentiation,
30
30
  )
31
- from classiq.interface.generator.credit_risk_example.linear_gci import LinearGCI
32
- from classiq.interface.generator.credit_risk_example.weighted_adder import WeightedAdder
33
31
  from classiq.interface.generator.entangler_params import (
34
32
  GridEntangler,
35
33
  HypercubeEntangler,
@@ -53,7 +51,6 @@ from classiq.interface.generator.hardware_efficient_ansatz import (
53
51
  from classiq.interface.generator.hartree_fock import HartreeFock
54
52
  from classiq.interface.generator.hva import HVA
55
53
  from classiq.interface.generator.identity import Identity
56
- from classiq.interface.generator.inequality_mixer import InequalityMixer
57
54
  from classiq.interface.generator.linear_pauli_rotations import LinearPauliRotations
58
55
  from classiq.interface.generator.mcu import Mcu
59
56
  from classiq.interface.generator.mcx import Mcx
@@ -67,7 +64,6 @@ from classiq.interface.generator.piecewise_linear_amplitude_loading import (
67
64
  from classiq.interface.generator.qft import QFT
68
65
  from classiq.interface.generator.qsvm import QSVMFeatureMap
69
66
  from classiq.interface.generator.randomized_benchmarking import RandomizedBenchmarking
70
- from classiq.interface.generator.range_mixer import RangeMixer
71
67
  from classiq.interface.generator.standard_gates.standard_gates_param_list import (
72
68
  standard_gate_function_param_library,
73
69
  )
@@ -81,7 +77,6 @@ from classiq.interface.generator.state_preparation import (
81
77
  UniformDistributionStatePreparation,
82
78
  WStatePreparation,
83
79
  )
84
- from classiq.interface.generator.state_propagator import StatePropagator
85
80
  from classiq.interface.generator.ucc import UCC
86
81
  from classiq.interface.generator.unitary_gate import UnitaryGate
87
82
  from classiq.interface.generator.user_defined_function_params import CustomFunction
@@ -97,7 +92,6 @@ function_param_library_without_self_reference: FunctionParamLibrary = (
97
92
  GHZStatePreparation,
98
93
  WStatePreparation,
99
94
  ExponentialStatePreparation,
100
- StatePropagator,
101
95
  QFT,
102
96
  BitwiseAnd,
103
97
  BitwiseOr,
@@ -134,11 +128,9 @@ function_param_library_without_self_reference: FunctionParamLibrary = (
134
128
  CustomFunction,
135
129
  HardwareEfficientAnsatz,
136
130
  UnitaryGate,
137
- WeightedAdder,
138
131
  LinearPauliRotations,
139
132
  Multiplier,
140
133
  Power,
141
- LinearGCI,
142
134
  HartreeFock,
143
135
  UCC,
144
136
  Min,
@@ -150,8 +142,6 @@ function_param_library_without_self_reference: FunctionParamLibrary = (
150
142
  Identity,
151
143
  RandomizedBenchmarking,
152
144
  HVA,
153
- InequalityMixer,
154
- RangeMixer,
155
145
  UGate,
156
146
  AmplitudeLoading,
157
147
  QSVMFeatureMap,
@@ -23,7 +23,6 @@ from classiq.interface.generator.arith.arithmetic_expression_validator import (
23
23
  validate_expression,
24
24
  )
25
25
  from classiq.interface.generator.arith.register_user_input import RegisterArithmeticInfo
26
- from classiq.interface.generator.expressions.enums import BUILTIN_ENUMS
27
26
  from classiq.interface.helpers.custom_pydantic_types import PydanticNonEmptyString
28
27
  from classiq.interface.helpers.hashable_pydantic_base_model import (
29
28
  HashablePydanticBaseModel,
@@ -112,8 +111,6 @@ GenerationExpressionSupportedNodeTypes = Union[
112
111
  ExecutionExpressionSupportedNodeTypes, GenerationOnlyExpressionSupportedNodeTypes
113
112
  ]
114
113
 
115
- GenerationExpressionSupportedAttrSymbols = set(BUILTIN_ENUMS.keys())
116
-
117
114
 
118
115
  def validate_expression_str(
119
116
  expr_str: str, supported_functions: Optional[Set[str]] = None
@@ -127,7 +124,6 @@ def validate_expression_str(
127
124
  supported_nodes=get_args(GenerationExpressionSupportedNodeTypes),
128
125
  expression_type="parameter",
129
126
  supported_functions=supported_functions,
130
- supported_attr_values=GenerationExpressionSupportedAttrSymbols,
131
127
  )
132
128
 
133
129
 
@@ -1,23 +1,3 @@
1
- from typing import List
2
-
3
1
  import classiq.interface.generator.functions.builtins.core_library
4
2
  import classiq.interface.generator.functions.builtins.quantum_operators
5
- from classiq.interface.generator.functions.foreign_function_definition import *
6
- from classiq.interface.generator.functions.foreign_function_definition import (
7
- SynthesisForeignFunctionDefinition as ForeignFunctionDefinition,
8
- )
9
3
  from classiq.interface.generator.functions.function_declaration import *
10
- from classiq.interface.generator.functions.function_implementation import *
11
- from classiq.interface.generator.functions.native_function_definition import *
12
- from classiq.interface.generator.functions.register import *
13
-
14
- __all__ = [ # noqa: F405
15
- "ForeignFunctionDefinition",
16
- "FunctionImplementation",
17
- "Register",
18
- "RegisterMappingData",
19
- ]
20
-
21
-
22
- def __dir__() -> List[str]:
23
- return __all__
@@ -1,8 +1,8 @@
1
1
  from classiq.interface.generator.expressions.expression import Expression
2
2
  from classiq.interface.generator.functions.classical_type import (
3
3
  ClassicalList,
4
+ Enum,
4
5
  Integer,
5
- Pauli,
6
6
  Real,
7
7
  )
8
8
  from classiq.interface.generator.functions.port_declaration import (
@@ -19,7 +19,7 @@ from classiq.interface.model.quantum_function_declaration import (
19
19
  SINGLE_PAULI_EXPONENT_FUNCTION = QuantumFunctionDeclaration(
20
20
  name="single_pauli_exponent",
21
21
  param_decls={
22
- "pauli_string": ClassicalList(element_type=Pauli()),
22
+ "pauli_string": ClassicalList(element_type=Enum(name="Pauli")),
23
23
  "coefficient": Real(),
24
24
  },
25
25
  port_declarations={