luna-quantum 1.0.5rc1__cp312-cp312-musllinux_1_2_x86_64.whl → 1.0.6__cp312-cp312-musllinux_1_2_x86_64.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.

Potentially problematic release.


This version of luna-quantum might be problematic. Click here for more details.

luna_quantum/_core.pyi CHANGED
@@ -2263,6 +2263,11 @@ class Model:
2263
2263
  """Return the name of the model."""
2264
2264
  ...
2265
2265
 
2266
+ @name.setter
2267
+ def name(self, /, name: str) -> None:
2268
+ """Set the name of the model."""
2269
+ ...
2270
+
2266
2271
  @property
2267
2272
  def sense(self, /) -> Sense:
2268
2273
  """
@@ -43,7 +43,7 @@ def check_httpx_exceptions(response: Response) -> None:
43
43
  HttpErrorUtils.check_for_error(response)
44
44
 
45
45
 
46
- class APIKeyAuth(httpx.Auth):
46
+ class APIKeyAuth(httpx.Auth): # noqa: PLW1641
47
47
  """API key authentication method for luna platform."""
48
48
 
49
49
  def __init__(self, token: str) -> None:
@@ -49,9 +49,7 @@ class InfoRestClient(IInfoRestClient):
49
49
  for provider, solvers in json.items():
50
50
  to_return[provider] = {}
51
51
  for solver in solvers:
52
- to_return[provider][solver] = SolverInfo.model_validate(
53
- json[provider][solver]
54
- )
52
+ to_return[provider][solver] = SolverInfo.model_validate(solvers[solver])
55
53
 
56
54
  return to_return
57
55
 
@@ -1,6 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
- from pydantic import BaseModel
3
+ from typing import Self
4
+
5
+ from pydantic import BaseModel, Field, model_validator
4
6
 
5
7
  from luna_quantum.client.schemas.wrappers import PydanticDatetimeWrapper
6
8
 
@@ -21,6 +23,13 @@ class QpuTokenTimeQuotaIn(BaseModel):
21
23
  If None, policy will be in effect until 365 days after the start date.
22
24
  """
23
25
 
24
- quota: int
26
+ quota: int = Field(ge=0)
25
27
  start: PydanticDatetimeWrapper | None
26
28
  end: PydanticDatetimeWrapper | None
29
+
30
+ @model_validator(mode="after")
31
+ def check_start_end_dates(self) -> Self:
32
+ """Cheks that start date is befor end date if both provided."""
33
+ if self.start is not None and self.end is not None and self.start > self.end:
34
+ raise ValueError("Start date cannot be after end date.") # noqa: TRY003
35
+ return self
@@ -1,4 +1,6 @@
1
- from pydantic import BaseModel, ConfigDict
1
+ from typing import Self
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, model_validator
2
4
 
3
5
  from luna_quantum.client.schemas.wrappers.datetime_wrapper import (
4
6
  PydanticDatetimeWrapper,
@@ -8,8 +10,15 @@ from luna_quantum.client.schemas.wrappers.datetime_wrapper import (
8
10
  class QpuTokenTimeQuotaUpdate(BaseModel):
9
11
  """Data structure to update the time quota of a qpu token."""
10
12
 
11
- quota: int | None = None
13
+ quota: int | None = Field(ge=0, default=None)
12
14
  start: PydanticDatetimeWrapper | None = None
13
15
  end: PydanticDatetimeWrapper | None = None
14
16
 
15
17
  model_config = ConfigDict(extra="forbid")
18
+
19
+ @model_validator(mode="after")
20
+ def check_start_end_dates(self) -> Self:
21
+ """Cheks that start date is befor end date if both provided."""
22
+ if self.start is not None and self.end is not None and self.start > self.end:
23
+ raise ValueError("Start date cannot be after end date.") # noqa: TRY003
24
+ return self
@@ -1,7 +1,9 @@
1
- from datetime import datetime
2
-
3
1
  from pydantic import BaseModel
4
2
 
3
+ from luna_quantum.client.schemas.wrappers.datetime_wrapper import (
4
+ PydanticDatetimeWrapper,
5
+ )
6
+
5
7
 
6
8
  class QpuTokenTimeQuotaOut(BaseModel):
7
9
  """
@@ -23,6 +25,6 @@ class QpuTokenTimeQuotaOut(BaseModel):
23
25
  """
24
26
 
25
27
  quota: int
26
- start: datetime
27
- end: datetime
28
+ start: PydanticDatetimeWrapper
29
+ end: PydanticDatetimeWrapper
28
30
  quota_used: int
@@ -2,7 +2,7 @@ from abc import abstractmethod
2
2
  from logging import Logger
3
3
  from typing import TYPE_CHECKING, Any, ClassVar, Generic
4
4
 
5
- from pydantic import BaseModel, ConfigDict, Field, field_validator
5
+ from pydantic import ConfigDict, Field, field_validator
6
6
 
7
7
  from luna_quantum.aqm_overwrites.model import Model
8
8
  from luna_quantum.client.controllers.luna_solve import LunaSolve
@@ -18,7 +18,7 @@ if TYPE_CHECKING:
18
18
  from luna_quantum.solve.interfaces.usecases import ISolveJobCreateUseCase
19
19
 
20
20
 
21
- class LunaAlgorithm(IAlgorithm[BACKEND_TYPE], BaseModel, Generic[BACKEND_TYPE]):
21
+ class LunaAlgorithm(IAlgorithm[BACKEND_TYPE], Generic[BACKEND_TYPE]):
22
22
  """
23
23
  Class representing a solver for Luna model problems.
24
24
 
@@ -133,7 +133,9 @@ class LunaAlgorithm(IAlgorithm[BACKEND_TYPE], BaseModel, Generic[BACKEND_TYPE]):
133
133
  SolveJob
134
134
  The job object containing the information about the solve process.
135
135
  """
136
- from luna_quantum.factories.usecase_factory import UseCaseFactory
136
+ from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
137
+ UseCaseFactory,
138
+ )
137
139
 
138
140
  b: BACKEND_TYPE
139
141
  if backend is not None:
@@ -45,7 +45,9 @@ class ModelMetadata(BaseModel):
45
45
  """
46
46
  c = LunaSolveClientFactory.get_client(client=client)
47
47
 
48
- from luna_quantum.factories.usecase_factory import UseCaseFactory
48
+ from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
49
+ UseCaseFactory,
50
+ )
49
51
 
50
52
  aq_model: Model = UseCaseFactory.model_load_by_metadata(client=c).__call__(
51
53
  model_metadata=self
@@ -73,7 +73,9 @@ class SolveJob(BaseModel):
73
73
  if status_source == "remote":
74
74
  c: ILunaSolve = LunaSolveClientFactory.get_client(client)
75
75
 
76
- from luna_quantum.factories.usecase_factory import UseCaseFactory
76
+ from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
77
+ UseCaseFactory,
78
+ )
77
79
 
78
80
  UseCaseFactory.solve_job_fetch_update(client=c).__call__(solve_job=self)
79
81
 
@@ -123,7 +125,9 @@ class SolveJob(BaseModel):
123
125
 
124
126
  c: ILunaSolve = LunaSolveClientFactory.get_client(client)
125
127
 
126
- from luna_quantum.factories.usecase_factory import UseCaseFactory
128
+ from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
129
+ UseCaseFactory,
130
+ )
127
131
 
128
132
  self._result = UseCaseFactory.solve_job_get_result(client=c).__call__(
129
133
  solve_job=self,
@@ -164,7 +168,9 @@ class SolveJob(BaseModel):
164
168
  """
165
169
  c: ILunaSolve = LunaSolveClientFactory.get_client(client)
166
170
 
167
- from luna_quantum.factories.usecase_factory import UseCaseFactory
171
+ from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
172
+ UseCaseFactory,
173
+ )
168
174
 
169
175
  UseCaseFactory.solve_job_cancel(client=c).__call__(self)
170
176
 
@@ -183,6 +189,8 @@ class SolveJob(BaseModel):
183
189
  """
184
190
  c: ILunaSolve = LunaSolveClientFactory.get_client(client)
185
191
 
186
- from luna_quantum.factories.usecase_factory import UseCaseFactory
192
+ from luna_quantum.factories.usecase_factory import ( # noqa: PLC0415
193
+ UseCaseFactory,
194
+ )
187
195
 
188
196
  UseCaseFactory.solve_job_delete(client=c).__call__(solve_job_id=self.id)
@@ -1,6 +1,8 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from typing import Any, Generic, TypeVar
3
3
 
4
+ from pydantic import BaseModel
5
+
4
6
  from luna_quantum.aqm_overwrites.model import Model
5
7
  from luna_quantum.solve.domain.solve_job import SolveJob
6
8
  from luna_quantum.solve.interfaces.backend_i import IBackend
@@ -8,7 +10,7 @@ from luna_quantum.solve.interfaces.backend_i import IBackend
8
10
  BACKEND_TYPE = TypeVar("BACKEND_TYPE", bound=IBackend)
9
11
 
10
12
 
11
- class IAlgorithm(ABC, Generic[BACKEND_TYPE]):
13
+ class IAlgorithm(ABC, BaseModel, Generic[BACKEND_TYPE]):
12
14
  """
13
15
  Interface for an algorithm that performs solve tasks based on a given model.
14
16
 
@@ -1,5 +1,6 @@
1
1
  from .flexible_parameter_algorithm import FlexibleParameterAlgorithm
2
2
  from .genetic_algorithms import QAGA, SAGA
3
+ from .lq_fda import FujitsuDA
3
4
  from .optimization_solvers import SCIP
4
5
  from .quantum_annealing import (
5
6
  Kerberos,
@@ -31,6 +32,7 @@ __all__ = [
31
32
  "DialecticSearch",
32
33
  "FlexQAOA",
33
34
  "FlexibleParameterAlgorithm",
35
+ "FujitsuDA",
34
36
  "Kerberos",
35
37
  "LeapHybridBqm",
36
38
  "LeapHybridCqm",
@@ -0,0 +1,3 @@
1
+ from .fujitsu_da_v3c import FujitsuDA
2
+
3
+ __all__ = ["FujitsuDA"]
@@ -0,0 +1,85 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Literal
4
+
5
+ from pydantic import Field
6
+
7
+ from luna_quantum.solve.domain.abstract import LunaAlgorithm
8
+ from luna_quantum.solve.parameters.backends import Fujitsu
9
+
10
+
11
+ class FujitsuDABase(LunaAlgorithm[Fujitsu]):
12
+ """Fujitsu Digital Annealer base parameters.
13
+
14
+ Parameters
15
+ ----------
16
+ scaling_action: Literal["NOTHING", "SCALING", "AUTO_SCALING"]
17
+ Method for scaling ``qubo`` and determining temperatures:
18
+ - "NOTHING": No action (use parameters exactly as specified)
19
+ - "SCALING": ``scaling_factor`` is multiplied to ``qubo``,
20
+ ``temperature_start``, ``temperature_end`` and ``offset_increase_rate``.
21
+ - "AUTO_SCALING": A maximum scaling factor w.r.t. ``scaling_bit_precision``
22
+ is multiplied to ``qubo``, ``temperature_start``, ``temperature_end`` and
23
+ ``offset_increase_rate``.
24
+ scaling_factor: int | float
25
+ Multiplicative factor applied to model coefficients, temperatures, and other
26
+ parameters: the ``scaling_factor`` for ``qubo``, ``temperature_start``,
27
+ ``temperature_end`` and ``offset_increase_rate``.
28
+ Higher values can improve numerical precision but may lead to overflow.
29
+ Default is 1.0 (no scaling).
30
+ scaling_bit_precision: int
31
+ Maximum bit precision to use when scaling. Determines the maximum allowable
32
+ coefficient magnitude. Default is 64, using full double precision.
33
+ random_seed: Union[int, None]
34
+ Seed for random number generation to ensure reproducible results.
35
+ Must be between 0 and 9_999. Default is None (random seed).
36
+ penalty_factor: float
37
+ Penalty factor used to scale the equality constraint penalty function,
38
+ default 1.0.
39
+ inequality_factor: int
40
+ Penalty factor used to scale the inequality constraints, default 1.
41
+ remove_ohg_from_penalty: bool
42
+ If equality constraints, identified to be One-Hot constraints are only
43
+ considered within one-hot groups (`remove_ohg_from_penalty=True`), i.e.,
44
+ identified one-hot constraints are not added to the penalty function,
45
+ default True.
46
+ """
47
+
48
+ scaling_action: Literal["NOTHING", "SCALING", "AUTO_SCALING"] = "NOTHING"
49
+ scaling_factor: int | float = 1.0
50
+ scaling_bit_precision: int = 64
51
+ random_seed: int | None = Field(default=None, ge=0, le=9_999)
52
+
53
+ penalty_factor: float = 1.0
54
+ inequality_factor: int = 1
55
+ remove_ohg_from_penalty: bool = True
56
+
57
+ @classmethod
58
+ def get_default_backend(cls) -> Fujitsu:
59
+ """
60
+ Return the default backend implementation.
61
+
62
+ This property must be implemented by subclasses to provide
63
+ the default backend instance to use when no specific backend
64
+ is specified.
65
+
66
+ Returns
67
+ -------
68
+ IBackend
69
+ An instance of a class implementing the IBackend interface that serves
70
+ as the default backend.
71
+ """
72
+ return Fujitsu()
73
+
74
+ @classmethod
75
+ def get_compatible_backends(cls) -> tuple[type[Fujitsu], ...]:
76
+ """
77
+ Check at runtime if the used backend is compatible with the solver.
78
+
79
+ Returns
80
+ -------
81
+ tuple[type[IBackend], ...]
82
+ True if the backend is compatible with the solver, False otherwise.
83
+
84
+ """
85
+ return (Fujitsu,)
@@ -0,0 +1,155 @@
1
+ from pydantic import Field
2
+
3
+ from .fujits_da_base import FujitsuDABase
4
+
5
+
6
+ class FujitsuDA(FujitsuDABase):
7
+ """
8
+ Parameters for the Fujitsu Digital Annealer (v3c).
9
+
10
+ Attributes
11
+ ----------
12
+ time_limit_sec: int | None
13
+ Maximum running time of DA in seconds. Specifies the upper limit of running
14
+ time of DA. Time_limit_sec should be selected according to problem hardness
15
+ and size (number of bits). Min: 1, Max: 3600
16
+ target_energy: int | None
17
+ Threshold energy for fast exit. This may not work correctly if the specified
18
+ value is larger than its max value or lower than its min value.
19
+ Min: -99_999_999_999, Max: 99_999_999_999
20
+ num_group: int
21
+ Number of independent optimization processes. Increasing the number of
22
+ independent optimization processes leads to better coverage of the search
23
+ space. Note: Increasing this number requires to also increase time_limit_sec
24
+ such that the search time for each process is sufficient.
25
+ Default: 1, Min: 1, Max: 16
26
+ num_solution: int
27
+ Number of solutions maintained and updated by each optimization process.
28
+ Default: 16, Min: 1, Max: 1024
29
+ num_output_solution: int
30
+ Maximal number of the best solutions returned by each optimization.
31
+ Total number of results is ``num_solution`` * ``num_group``.
32
+ Default: 5, Min: 1, Max: 1024
33
+ gs_num_iteration_factor: int
34
+ Maximal number of iterations in one epoch of the global search in each
35
+ optimization is ``gs_num_iteration_factor`` * *number of bits*.
36
+ Default: 5, Min: 0, Max: 100
37
+ gs_num_iteration_cl: int
38
+ Maximal number of iterations without improvement in one epoch of the global
39
+ search in each optimization before terminating and continuing with the next
40
+ epoch. For problems with very deep local minima having a very low value is
41
+ helpful. Default: 800, Min: 0, Max: 1000000
42
+ gs_ohs_xw1h_num_iteration_factor: int
43
+ Maximal number of iterations in one epoch of the global search in each
44
+ optimization is ``gs_ohs_xw1h_num_iteration_factor`` * *number of bits*.
45
+ Only used when 1Hot search is defined. Default: 3, Min: 0, Max: 100
46
+ gs_ohs_xw1h_num_iteration_cl: int
47
+ Maximal number of iterations without improvement in one epoch of the global
48
+ search in each optimization before terminating and continuing with the next
49
+ epoch. For problems with very deep local minima having a very low value is
50
+ helpful. Only used when 1Hot search is defined.
51
+ Default: 100, Min: 0, Max: 1000000
52
+ ohs_xw1h_internal_penalty: int | str
53
+ Mode of 1hot penalty constraint generation.
54
+ - 0: internal penalty generation off: 1hot constraint as part of penalty
55
+ polynomial required
56
+ - 1: internal penalty generation on: 1hot constraint not as part of penalty
57
+ polynomial required
58
+ If 1way 1hot constraint or a 2way 1hot constraint is specified,
59
+ ``ohs_xw1h_internal_penalty`` = 1 is recommended.
60
+ Default: 0, Min: 0, Max: 1
61
+ gs_penalty_auto_mode: int
62
+ Parameter to choose whether to automatically incrementally adapt
63
+ ``gs_penalty_coef`` to the optimal value.
64
+ - 0: Use ``gs_penalty_coef`` as the fixed factor to weight the penalty
65
+ polynomial during optimization.
66
+ - 1: Start with ``gs_penalty_coef`` as weight factor for penalty polynomial
67
+ and automatically and incrementally increase this factor during
68
+ optimization by multiplying ``gs_penalty_inc_rate`` / 100 repeatedly
69
+ until ``gs_max_penalty_coef`` is reached or the penalty energy iszero.
70
+ Default: 1, Min: 0, Max: 1
71
+ gs_penalty_coef: int
72
+ Factor to weight the penalty polynomial. If ``gs_penalty_auto_mode`` is 0,
73
+ this value does not change. If ``gs_penalty_auto_mode`` is 1, this initial
74
+ weight factor is repeatedly increased by ``gs_penalty_inc_rate`` until
75
+ ``gs_max_penalty_coef`` is reached or the penalty energy is zero.
76
+ Default: 1, Min: 1, Max: 9_223_372_036_854_775_807
77
+ gs_penalty_inc_rate: int
78
+ Only used if ``gs_penalty_auto_mode`` is 1. In this case, the initial weight
79
+ factor ``gs_penalty_coef`` for the penalty polynomial is repeatedly
80
+ increased by multiplying ``gs_penalty_inc_rate`` / 100 until
81
+ ``gs_max_penalty_coef`` is reached or the penalty energy is zero.
82
+ Default: 150, Min: 100, Max: 200
83
+ gs_max_penalty_coef: int
84
+ Maximal value for the penalty coefficient. If ``gs_penalty_auto_mode`` is 0,
85
+ this is the maximal value for ``gs_penalty_coef``.
86
+ If ``gs_penalty_auto_mode`` is 1, this is the maximal value to which
87
+ ``gs_penalty_coef`` can be increased during the automatic adjustment.
88
+ If ``gs_max_penalty_coef`` is set to 0, then the maximal penalty coefficient
89
+ is 2^63 - 1.
90
+ Default: 0, Min: 0, Max: 9_223_372_036_854_775_807
91
+
92
+
93
+ scaling_action: Literal["NOTHING", "SCALING", "AUTO_SCALING"]
94
+ Method for scaling ``qubo`` and determining temperatures:
95
+ - "NOTHING": No action (use parameters exactly as specified)
96
+ - "SCALING": ``scaling_factor`` is multiplied to ``qubo``,
97
+ ``temperature_start``, ``temperature_end`` and ``offset_increase_rate``.
98
+ - "AUTO_SCALING": A maximum scaling factor w.r.t. ``scaling_bit_precision``
99
+ is multiplied to ``qubo``, ``temperature_start``, ``temperature_end`` and
100
+ ``offset_increase_rate``.
101
+ scaling_factor: int | float
102
+ Multiplicative factor applied to model coefficients, temperatures, and other
103
+ parameters: the ``scaling_factor`` for ``qubo``, ``temperature_start``,
104
+ ``temperature_end`` and ``offset_increase_rate``.
105
+ Higher values can improve numerical precision but may lead to overflow.
106
+ Default is 1.0 (no scaling).
107
+ scaling_bit_precision: int
108
+ Maximum bit precision to use when scaling. Determines the maximum allowable
109
+ coefficient magnitude. Default is 64, using full double precision.
110
+ random_seed: Union[int, None]
111
+ Seed for random number generation to ensure reproducible results.
112
+ Must be between 0 and 9_999. Default is None (random seed).
113
+ penalty_factor: float
114
+ Penalty factor used to scale the equality constraint penalty function,
115
+ default 1.0.
116
+ inequality_factor: int
117
+ Penalty factor used to scale the inequality constraints, default 1.
118
+ remove_ohg_from_penalty: bool
119
+ If equality constraints, identified to be One-Hot constraints are only
120
+ considered within one-hot groups (`remove_ohg_from_penalty=True`),
121
+ i.e., identified one-hot constraints are not added to the penalty function,
122
+ default True.
123
+ """
124
+
125
+ time_limit_sec: int | None = Field(default=None, ge=1, le=3600)
126
+ target_energy: int | None = Field(
127
+ default=None, ge=-99_999_999_999, le=99_999_999_999
128
+ )
129
+ num_group: int = Field(default=1, ge=1, le=16)
130
+ num_solution: int = Field(default=16, ge=1, le=1024)
131
+ num_output_solution: int = Field(default=5, ge=1, le=1024)
132
+ gs_num_iteration_factor: int = Field(default=5, ge=0, le=100)
133
+ gs_num_iteration_cl: int = Field(default=800, ge=0, le=1_000_000)
134
+ gs_ohs_xw1h_num_iteration_factor: int = Field(default=3, ge=0, le=100)
135
+ gs_ohs_xw1h_num_iteration_cl: int = Field(default=100, ge=0, le=1_000_000)
136
+ ohs_xw1h_internal_penalty: int = Field(default=0, ge=0, le=1)
137
+ gs_penalty_auto_mode: int = Field(default=1, ge=0, le=1)
138
+ gs_penalty_coef: int = Field(default=1, ge=1, le=2**63 - 1)
139
+ gs_penalty_inc_rate: int = Field(default=150, ge=100, le=200)
140
+ gs_max_penalty_coef: int = Field(default=0, ge=0, le=2**63 - 1)
141
+
142
+ @property
143
+ def algorithm_name(self) -> str:
144
+ """
145
+ Returns the name of the algorithm.
146
+
147
+ This abstract property method is intended to be overridden by subclasses.
148
+ It should provide the name of the algorithm being implemented.
149
+
150
+ Returns
151
+ -------
152
+ str
153
+ The name of the algorithm.
154
+ """
155
+ return "FDAV3C"
@@ -2,6 +2,7 @@ from .aqarios import Aqarios
2
2
  from .aws import AWS, IQM, IonQ, Rigetti
3
3
  from .dwave import DWave
4
4
  from .dwave_qpu import DWaveQpu
5
+ from .fda import Fujitsu
5
6
  from .ibm import IBM
6
7
  from .qctrl import Qctrl
7
8
  from .zib import ZIB
@@ -14,6 +15,7 @@ __all__: list[str] = [
14
15
  "Aqarios",
15
16
  "DWave",
16
17
  "DWaveQpu",
18
+ "Fujitsu",
17
19
  "IonQ",
18
20
  "Qctrl",
19
21
  "Rigetti",
@@ -0,0 +1,17 @@
1
+ from luna_quantum.solve.interfaces.backend_i import IBackend
2
+
3
+
4
+ class Fujitsu(IBackend):
5
+ """Configuration class for the Fujitsu backend."""
6
+
7
+ @property
8
+ def provider(self) -> str:
9
+ """
10
+ Retrieve the name of the provider.
11
+
12
+ Returns
13
+ -------
14
+ str
15
+ The name of the provider.
16
+ """
17
+ return "fda"
@@ -62,6 +62,6 @@ class PrettyBase(BaseModel):
62
62
 
63
63
  data = self.model_dump()
64
64
 
65
- data_truncated, is_truncated = truncate(data, limit)
65
+ data_truncated, _ = truncate(data, limit)
66
66
 
67
67
  return self._pretty_print(data_truncated)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: luna-quantum
3
- Version: 1.0.5rc1
3
+ Version: 1.0.6
4
4
  Classifier: Programming Language :: Python :: 3
5
5
  Classifier: License :: OSI Approved :: Apache Software License
6
6
  Classifier: Operating System :: OS Independent
@@ -1,12 +1,12 @@
1
- luna_quantum-1.0.5rc1.dist-info/METADATA,sha256=R-ityeGgaY6eV8p46BrwE-RixUnYcHdAOZcCMtn4-C8,1585
2
- luna_quantum-1.0.5rc1.dist-info/WHEEL,sha256=CeNsWcACVnN0FjdtxPSxS9Me_M05qM2hKBA2yCPGzPY,107
3
- luna_quantum-1.0.5rc1.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
4
- luna_quantum-1.0.5rc1.dist-info/licenses/NOTICE,sha256=noPOS8eDj5XoyRO8ZrCxIOh5fSjk0RildIrrqxQlepY,588
1
+ luna_quantum-1.0.6.dist-info/METADATA,sha256=8543uLV4QNdGnm8OkIKwWioDWQ-RGsWpECDhyDxVNsk,1582
2
+ luna_quantum-1.0.6.dist-info/WHEEL,sha256=CeNsWcACVnN0FjdtxPSxS9Me_M05qM2hKBA2yCPGzPY,107
3
+ luna_quantum-1.0.6.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
4
+ luna_quantum-1.0.6.dist-info/licenses/NOTICE,sha256=noPOS8eDj5XoyRO8ZrCxIOh5fSjk0RildIrrqxQlepY,588
5
5
  luna_quantum.libs/libgcc_s-02f3f192.so.1,sha256=gjFsHm1qybp9dieBvfXS4hYl26XxiP3ydWHYntFhKVk,189441
6
6
  luna_quantum/__init__.py,sha256=RV92O-Th8ktm0S9kcpfRfECkeeORP-tbDKfpa4u1CiY,3223
7
7
  luna_quantum/__init__.pyi,sha256=1Joa1farT1Ey22yWYPMNPgQrGHIKL8bycrdPUgtQqw8,1661
8
- luna_quantum/_core.cpython-312-x86_64-linux-musl.so,sha256=2ZCzkq4npFZ1l_JC5xq2j8lg2eZuVDUp2gMhEenaFyA,6168425
9
- luna_quantum/_core.pyi,sha256=sA0nkwnwiubpOZGb_lSJwJ8mBa4c4YIMLMTK7MBUK4E,114792
8
+ luna_quantum/_core.cpython-312-x86_64-linux-musl.so,sha256=a33IdyP9eDTVYnomHP_pfie66tgjD4ZMnK-3Sip7drE,6164329
9
+ luna_quantum/_core.pyi,sha256=Ho4qm1sII4PHY8ZpsrwF1Qd6EzcDefmKeba-8Fb_j6g,114905
10
10
  luna_quantum/algorithms/__init__.py,sha256=IX9ZpzY3Do3mTgKqto5vAWwdYrZrM-RemYSf64yxefg,69
11
11
  luna_quantum/aqm_overwrites/__init__.py,sha256=rteObr5JHDnTnRime0Euq9Qy2iDIp6VMpFNHTGVNBe0,46
12
12
  luna_quantum/aqm_overwrites/model.py,sha256=La5mh-aS2LNLaQFp_B1EnhrKUXVRRmIqGnIvX66uc8Y,6099
@@ -14,7 +14,7 @@ luna_quantum/backends/__init__.py,sha256=OaE9cTpXP07x2mhJ_kLFaHPYZJBzdEQhlP_ztnq
14
14
  luna_quantum/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  luna_quantum/client/controllers/__init__.py,sha256=yG8Gwatlm6f-OH2p3WLTyAsNePUER84eBxx67pkRi4A,156
16
16
  luna_quantum/client/controllers/luna_http_client.py,sha256=Siwtm0wQzdRZXw0ilkUmFXbD8tbRuJI7cEceWwfXos4,1057
17
- luna_quantum/client/controllers/luna_platform_client.py,sha256=hOGDqlKN-w_CjUpU1wVDUTL58AiIsND0iis-SiBGAtc,8013
17
+ luna_quantum/client/controllers/luna_platform_client.py,sha256=S6lt1mkE0aXYx9xoIKB9TO-fnQKDhL4AS56cT1EoaYI,8030
18
18
  luna_quantum/client/controllers/luna_q.py,sha256=27umEkIfMGIYhkEHMz96th3a8KM4phb5Wa9pPY2RqHE,2042
19
19
  luna_quantum/client/controllers/luna_solve.py,sha256=ZQSCQXCnc-QfQTPtlMBEohkjk2ppQMoYoW4kU1rPOPg,3499
20
20
  luna_quantum/client/error/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -41,7 +41,7 @@ luna_quantum/client/interfaces/services/luna_solve_i.py,sha256=jp_ZfWv_7lQBBwNuz
41
41
  luna_quantum/client/interfaces/services/service_i.py,sha256=8PGI7UELvLOA9bk2p8REDp4PWdWiUc7uBwLTC1TAigc,1158
42
42
  luna_quantum/client/rest_client/__init__.py,sha256=eX8kt99OxkvKvHG1IZK9pvSlPuO4Vn5fVtHfpW3F6Bs,552
43
43
  luna_quantum/client/rest_client/circuit_rest_client.py,sha256=va23jfQPDJ7E7YAL3dnwCKotAoOYtdW7NSsZoYpDzeA,3288
44
- luna_quantum/client/rest_client/info_rest_client.py,sha256=Yv8rbJ3QraUpqNsi7rKdpNrYQOff_wD95p2IJhkkrsQ,2222
44
+ luna_quantum/client/rest_client/info_rest_client.py,sha256=nytZF_sG5ZWJ2k9I3YXLJKx-CUehivj9kaCfuoTUs9Q,2177
45
45
  luna_quantum/client/rest_client/model_rest_client.py,sha256=wmtVG-oKsJtEvnPnAnAoBsrFggezHpuJg0NYi-SDw54,6472
46
46
  luna_quantum/client/rest_client/qpu_token_rest_client.py,sha256=E2a2f3rHlbksnnI8Xl9KoQDC4c2x-eGOW7HtKLWUpzI,17297
47
47
  luna_quantum/client/rest_client/solve_job_rest_client.py,sha256=GizcVIR_k_nd3FzGXtW7LrrSjJHhbywA90wLxBMRn8w,8961
@@ -52,8 +52,8 @@ luna_quantum/client/schemas/create/__init__.py,sha256=Q8anriqo9v5o3KmrOXh9TQpW8Q
52
52
  luna_quantum/client/schemas/create/circuit.py,sha256=FOFuRdJBnlSHNSuT2LBl3PQ0k_2g8o4Bp_oUI-mWZcY,686
53
53
  luna_quantum/client/schemas/create/optimization.py,sha256=TFEkCe0BFYRcodzKu1i2dbPo3ZwksQKvImPx6a_7Xwk,1161
54
54
  luna_quantum/client/schemas/create/qpu_token.py,sha256=j06Kn6g7uVhSvwpa_swJvODkTwIS0iRT3o8fScI1VmQ,384
55
- luna_quantum/client/schemas/create/qpu_token_time_quota.py,sha256=JYnSc_NBpo4xL5NqSQSKDHQB4JTGiY3Fz40rxmx5YRg,725
56
- luna_quantum/client/schemas/create/qpu_token_time_quota_update.py,sha256=pLZPDh5OdLMB00oGpTHF7nT-tVWqm1ZUBC8IFFiTurY,426
55
+ luna_quantum/client/schemas/create/qpu_token_time_quota.py,sha256=Sj3xUG3Dskw036LDCdOM2TJkAc6VPnAqi9FignQs9UI,1132
56
+ luna_quantum/client/schemas/create/qpu_token_time_quota_update.py,sha256=aFj1nB09IARTkV4P39N4M7_aZDRYhOp1vo7tC0I34BA,840
57
57
  luna_quantum/client/schemas/create/qubo.py,sha256=X-vplfVVdLcpds57mcJ0ZIvKsFet94sX5ZfNTmGsdJ4,305
58
58
  luna_quantum/client/schemas/create/solve_job_create.py,sha256=MFtDuo_cp5O_utQypm2iO6FWW26Gaw9f3ua8XTNjl1s,1093
59
59
  luna_quantum/client/schemas/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -70,7 +70,7 @@ luna_quantum/client/schemas/model_metadata.py,sha256=6Ocjyh3gPYtccMPAKANcZ5oQ01k
70
70
  luna_quantum/client/schemas/qpu_token/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
71
  luna_quantum/client/schemas/qpu_token/qpu_token.py,sha256=-JR9y-bvqbit6tbGFCpKFzPFquWXBJIIj3CGAMh_6PM,3912
72
72
  luna_quantum/client/schemas/qpu_token/qpu_token_source.py,sha256=eiCYAhpaVzoOeKZe5PIp9wCp_OJSFgDwgsi2M29esUg,604
73
- luna_quantum/client/schemas/qpu_token/qpu_token_time_quota.py,sha256=7w25iX9vEeNwkNTdmOy7-KKFI0sr_QJtrBQiJ_4QWa4,665
73
+ luna_quantum/client/schemas/qpu_token/qpu_token_time_quota.py,sha256=sRYOpLQ-m1U3bkiXE2X3CRk69SIgC1k2u-yL7ggkzXM,764
74
74
  luna_quantum/client/schemas/qpu_token/token_provider.py,sha256=GkyMJVV9lC50fWYe3if53KU9VqYK1HPxOozJEEX678k,4595
75
75
  luna_quantum/client/schemas/representation.py,sha256=0RKVV0XxHOJZ1o9grxTq5ri3cGLziyCFObDwQuXIOEY,364
76
76
  luna_quantum/client/schemas/solution.py,sha256=SbbnEjmHRx0ofbSHdbVU_FqAtd0ZrsAwea8Jg9JQw9g,2445
@@ -96,17 +96,17 @@ luna_quantum/solve/__init__.py,sha256=Qu363Ci54FhrhRvuLm6WIFAsyxMwtza8n7ImHPQfxj
96
96
  luna_quantum/solve/default_token.py,sha256=JpMrRtQsczmBYFeMvDOsbabpBfUubGWNVLlwFn2O4Ew,8691
97
97
  luna_quantum/solve/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
98
  luna_quantum/solve/domain/abstract/__init__.py,sha256=My23tGRFFJYVe6vwgUM4RAFr26Two1QnNryo5KXyfGU,137
99
- luna_quantum/solve/domain/abstract/luna_algorithm.py,sha256=E0_GAay9cTfsjB_T-tS5PNlh5GkxH9av6uuAZXtUdec,7025
99
+ luna_quantum/solve/domain/abstract/luna_algorithm.py,sha256=f24R-c8dEkLtT_UeGAMGV6RlqeBTrR_gtCAlk_-HjaE,7045
100
100
  luna_quantum/solve/domain/abstract/qpu_token_backend.py,sha256=2vLMzDrrJsi2ejVMdNOEuhf9x1e7zGijkIn2GCH--j8,1229
101
- luna_quantum/solve/domain/model_metadata.py,sha256=eGwoRxtUBhZLdEJTf8LJdeoundKSllVX2djt4fer6So,1644
102
- luna_quantum/solve/domain/solve_job.py,sha256=Svi1PJrqvc3JS1jP7Jj0fu7KXH-VtQ_Swj5q8LYHQqY,6607
101
+ luna_quantum/solve/domain/model_metadata.py,sha256=KqbZ59cKjfl9TrIy8L3BLT0qeqiWYRYNxgLgvQxh0Xo,1686
102
+ luna_quantum/solve/domain/solve_job.py,sha256=TR_JpZLefB5mtJPdC2UY1K-aQs8L4qWFzgd4EplDdFg,6783
103
103
  luna_quantum/solve/errors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  luna_quantum/solve/errors/incompatible_backend_error.py,sha256=PVhyMTIUShy1IJqc_FiYxxY5SzLs791Wfey-JHu6xoA,604
105
105
  luna_quantum/solve/errors/model_metadata_missing_error.py,sha256=TBTokypD8drCFPFeMWsUn7mt7aCmKMqKweyzshqf3Bg,363
106
106
  luna_quantum/solve/errors/solve_base_error.py,sha256=WhKaKTbWuQSxA6JLWtGT2x_CY0BUKuGMnB0oCutbA90,170
107
107
  luna_quantum/solve/errors/token_missing_error.py,sha256=PK3n0fe4a57rdSm6gj0qbeh8MQqen91ECpQXZVbGvmw,346
108
108
  luna_quantum/solve/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
- luna_quantum/solve/interfaces/algorithm_i.py,sha256=TQ8sScb9vyCxm8CxfX2mWVHbxBmOlogkY2R6LOWszcM,1622
109
+ luna_quantum/solve/interfaces/algorithm_i.py,sha256=dTWDW1CoFElIbVxjnSnA9lPIcrKDV1YJlySTR_p02xI,1665
110
110
  luna_quantum/solve/interfaces/backend_i.py,sha256=dNszKrHSFjBb66ABHPjUUGiENBP3jVN9nGSHJr2R0co,602
111
111
  luna_quantum/solve/interfaces/usecases/__init__.py,sha256=B3_AztBd0sIdDfhttHiydSN2mD5EJJYDb84eZAX0q3k,1414
112
112
  luna_quantum/solve/interfaces/usecases/model_delete_usecase_i.py,sha256=wQL0nE2d5UF9_cRpC-sbeHqKrA_46j9wGtO0_FI4gX8,648
@@ -123,7 +123,7 @@ luna_quantum/solve/interfaces/usecases/solve_job_delete_usecase_i.py,sha256=8JyN
123
123
  luna_quantum/solve/interfaces/usecases/solve_job_fetch_updates_usecase_i.py,sha256=2ldduW0f3qB74wlf-eIU5Od_jhzBPVgJSw53I49wGmM,1078
124
124
  luna_quantum/solve/interfaces/usecases/solve_job_get_result_usecase_i.py,sha256=eXMTO9J7c018kam-iVmkXmBhSTyU2ER9k_oQHJ5pmm0,2040
125
125
  luna_quantum/solve/parameters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
- luna_quantum/solve/parameters/algorithms/__init__.py,sha256=risexrJYDlq-GSLNBLVH4RcshRsQ5ELO05S0EbowmL4,1251
126
+ luna_quantum/solve/parameters/algorithms/__init__.py,sha256=a4PwA87TLkZUB0_1cwH9_evgdjiyRaAKtQVP7L1CfVw,1298
127
127
  luna_quantum/solve/parameters/algorithms/base_params/__init__.py,sha256=wn85mVUqm9aub5Knu5Z_Q-A-2Yt__zB-iJ9Rxh5tFO8,771
128
128
  luna_quantum/solve/parameters/algorithms/base_params/decomposer.py,sha256=gvyb3migPD5ERYnirY0IAyZ_MH_pYRVJ58Jj0p_dAk8,2312
129
129
  luna_quantum/solve/parameters/algorithms/base_params/qaoa_circuit_params.py,sha256=ArDVt8C64xKPJ9new2zKdNUMxnod3zgnD_Eh0Bw69_k,2938
@@ -136,6 +136,9 @@ luna_quantum/solve/parameters/algorithms/flexible_parameter_algorithm.py,sha256=
136
136
  luna_quantum/solve/parameters/algorithms/genetic_algorithms/__init__.py,sha256=DAJCKQV7lAI2mibX9aEAfiINFcnhg7QLb1x7q5OIloE,74
137
137
  luna_quantum/solve/parameters/algorithms/genetic_algorithms/qaga.py,sha256=aLUl1N7nicjffxQM7AJ4cT5YqN8nXuub0DVhVjnt_8I,5287
138
138
  luna_quantum/solve/parameters/algorithms/genetic_algorithms/saga.py,sha256=ze8eNTMwzN8naWn_KHkVQ382Icxi3zhiyOsD04qDLRo,5207
139
+ luna_quantum/solve/parameters/algorithms/lq_fda/__init__.py,sha256=nYILbaMcMGRMAghReAPlXUuYVmUh1Zh8VdhWQEepsnI,63
140
+ luna_quantum/solve/parameters/algorithms/lq_fda/fujits_da_base.py,sha256=tbfl1uhLJzodpkHjdKgUP2vOjyVvpUof6tIO1a1fDks,3350
141
+ luna_quantum/solve/parameters/algorithms/lq_fda/fujitsu_da_v3c.py,sha256=wTq0_CYPAUJCiO2khZXMJWAaBpGr8y0VhEj8fVb0AY0,8192
139
142
  luna_quantum/solve/parameters/algorithms/optimization_solvers/__init__.py,sha256=y3lYmhd9JCEgVxZ-ApXxLtXc6A110ZUlokhnWOZ-cII,43
140
143
  luna_quantum/solve/parameters/algorithms/optimization_solvers/scip.py,sha256=IS7Of6ySarHTE1dWK-ANoaUx9UJrHkqCRFthz7R3MGE,1467
141
144
  luna_quantum/solve/parameters/algorithms/quantum_annealing/__init__.py,sha256=9X4RWwMPVH1ipAjEDGWF4_jDrk_vgUngx28IkLDkHmY,621
@@ -166,7 +169,7 @@ luna_quantum/solve/parameters/algorithms/simulated_annealing/population_annealin
166
169
  luna_quantum/solve/parameters/algorithms/simulated_annealing/qbsolv_like_simulated_annealing.py,sha256=roq_msa4EQrRpvFze23EnY7iQ-SDpu6ifSP9Thxn_6E,6583
167
170
  luna_quantum/solve/parameters/algorithms/simulated_annealing/repeated_reverse_simulated_annealing.py,sha256=phLC27T7vcMCi2f82LaaAObMEqoiAZJXRK38dl-3rBY,8220
168
171
  luna_quantum/solve/parameters/algorithms/simulated_annealing/simulated_annealing.py,sha256=urMh0DLN5iuj1uAoyXt7IzwMpNZWciTlq3GhApuNgFE,5660
169
- luna_quantum/solve/parameters/backends/__init__.py,sha256=ZfSKeIsloaOeY5a7qMsLp13r3y7IcbE9-YjcSK7qPKA,348
172
+ luna_quantum/solve/parameters/backends/__init__.py,sha256=KkWZ4Y3GtGFafyGCH1nX-s5AfNM3CowuJNfWAXpOums,388
170
173
  luna_quantum/solve/parameters/backends/aqarios.py,sha256=4qa9en_-IhFgs4NDGUDJ6XWNevuIGOWCPrp5DcSvwiw,364
171
174
  luna_quantum/solve/parameters/backends/aws/__init__.py,sha256=2o6R9htZHM6mvUSi94S14Q3HdfMgyg_nMTTBzhYdwXY,158
172
175
  luna_quantum/solve/parameters/backends/aws/aws.py,sha256=snFW6vY1xJsJuM84xZCmHPrpZBr469N3hIJ-3Im9ybQ,1119
@@ -176,6 +179,7 @@ luna_quantum/solve/parameters/backends/aws/iqm.py,sha256=db7td5uyrnUrOo2M22DMgkD
176
179
  luna_quantum/solve/parameters/backends/aws/rigetti.py,sha256=04Rg7CEz_70Aqd1f28ONhAQ8MXk79d-5mGbnxrqxYjU,953
177
180
  luna_quantum/solve/parameters/backends/dwave.py,sha256=ZIbZa0lY4TN1jYl5ddlAxhb5_lK4Zuuf1gyQ1fncf8w,358
178
181
  luna_quantum/solve/parameters/backends/dwave_qpu.py,sha256=8RJ4zPqLvplPsTmN3D8pNU5-XjwwAEYEvlIgTUPc5Ag,7314
182
+ luna_quantum/solve/parameters/backends/fda.py,sha256=z2WR3863eDABUKw1BlheEx3jLGkMFG8FjO_seLLCTf4,360
179
183
  luna_quantum/solve/parameters/backends/ibm.py,sha256=pDw-0sifu_dfJS4zH2INu6txPh0NgaYDNxPQHEhaF7o,4231
180
184
  luna_quantum/solve/parameters/backends/qctrl.py,sha256=BADuXCvZzFNS9d6MNQIKdPixeQM_2q-dBoRVwEglG7c,3503
181
185
  luna_quantum/solve/parameters/backends/zib.py,sha256=SqlLFYWCBHiPkxiCJGb1MH5JNtdKApllpd2f8lzn_D8,352
@@ -254,8 +258,8 @@ luna_quantum/util/active_waiting.py,sha256=MkLL7UEtWh8jU1Zwd9rYqfcReYPGB7FJLUjQe
254
258
  luna_quantum/util/class_patcher.py,sha256=-vD_7Auh1dQTOJXOKv-4sTQ5EzH3n6I0EsHDFQ_ZPOY,5456
255
259
  luna_quantum/util/debug_info.py,sha256=UjMcmX5waYEEH51cK8REUOdjpNX0D6HWSR0ns7yQp54,1755
256
260
  luna_quantum/util/log_utils.py,sha256=8WK0ivN3Dq3QntIYu-eGRBrGyiBoFnZkRiX_GCc-IHQ,5471
257
- luna_quantum/util/pretty_base.py,sha256=Vv3dYpMsydOPYFOm-0lCCuJIe-62oYkI64Zy_bahl3s,2115
261
+ luna_quantum/util/pretty_base.py,sha256=QUNFiyz5MPsMCZB-wv622oeZ1uLkZ-_0xepNbuzQGRw,2104
258
262
  luna_quantum/util/pydantic_utils.py,sha256=nhl_SdLJVAizrtLVHvnbco84g8CdBVdVxN_jlXiv82w,1263
259
263
  luna_quantum/utils.py,sha256=pBOkGXNJXlOzxAwTJv8nCj32Q6WNeh3t6Ka3lmTgy9c,134
260
264
  luna_quantum/utils.pyi,sha256=yHHPluEJArUltZ2jJ9bPtTugj59E9TOTmYdyH35EHtU,1934
261
- luna_quantum-1.0.5rc1.dist-info/RECORD,,
265
+ luna_quantum-1.0.6.dist-info/RECORD,,