luna-quantum 0.0.16__py3-none-any.whl → 0.0.29__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.
Potentially problematic release.
This version of luna-quantum might be problematic. Click here for more details.
- {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/METADATA +2 -1
- {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/RECORD +57 -53
- luna_sdk/controllers/custom_login_client.py +8 -3
- luna_sdk/controllers/luna_platform_client.py +9 -9
- luna_sdk/controllers/luna_q.py +7 -10
- luna_sdk/controllers/luna_solve.py +8 -15
- luna_sdk/controllers/luna_transform.py +9 -16
- luna_sdk/interfaces/circuit_repo_i.py +18 -12
- luna_sdk/interfaces/cplex_repo_i.py +25 -10
- luna_sdk/interfaces/info_repo_i.py +10 -3
- luna_sdk/interfaces/lp_repo_i.py +20 -8
- luna_sdk/interfaces/optimization_repo_i.py +31 -57
- luna_sdk/interfaces/qpu_token_repo_i.py +24 -28
- luna_sdk/interfaces/solutions_repo_i.py +44 -24
- luna_sdk/repositories/circuit_repo.py +11 -44
- luna_sdk/repositories/cplex_repo.py +32 -20
- luna_sdk/repositories/info_repo.py +4 -7
- luna_sdk/repositories/lp_repo.py +21 -15
- luna_sdk/repositories/optimization_repo.py +25 -200
- luna_sdk/repositories/qpu_token_repo.py +28 -120
- luna_sdk/repositories/solutions_repo.py +109 -181
- luna_sdk/schemas/create/solution.py +2 -2
- luna_sdk/schemas/optimization.py +9 -11
- luna_sdk/schemas/pretty_base.py +10 -3
- luna_sdk/schemas/qpu_token.py +3 -0
- luna_sdk/schemas/solution.py +7 -6
- luna_sdk/schemas/solver_info.py +31 -1
- luna_sdk/schemas/solver_parameters/aws/optimizer_params.py +40 -0
- luna_sdk/schemas/solver_parameters/aws/qaoa.py +36 -4
- luna_sdk/schemas/solver_parameters/base_parameter.py +5 -0
- luna_sdk/schemas/solver_parameters/dwave/base.py +15 -14
- luna_sdk/schemas/solver_parameters/dwave/dialectic_search.py +3 -2
- luna_sdk/schemas/solver_parameters/dwave/kerberos.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_bqm.py +2 -2
- luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_cqm.py +2 -2
- luna_sdk/schemas/solver_parameters/dwave/parallel_tempering.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/parallel_tempering_qpu.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/population_annealing.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/population_annealing_qpu.py +2 -1
- luna_sdk/schemas/solver_parameters/dwave/qaga.py +4 -2
- luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_qpu.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_simulated_annealing.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_tabu_search.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/quantum_annealing.py +2 -3
- luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_quantum_annealing.py +4 -2
- luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_simulated_annealing.py +3 -2
- luna_sdk/schemas/solver_parameters/dwave/saga.py +1 -1
- luna_sdk/schemas/solver_parameters/dwave/tabu_search.py +3 -1
- luna_sdk/schemas/solver_parameters/fujitsu/base.py +5 -4
- luna_sdk/schemas/solver_parameters/fujitsu/partial_config.py +7 -5
- luna_sdk/schemas/solver_parameters/ibm/standard_parameters.py +121 -7
- luna_sdk/schemas/solver_parameters/qctrl/qaoa.py +2 -2
- luna_sdk/schemas/wrappers/__init__.py +1 -0
- luna_sdk/schemas/wrappers/datetime_wrapper.py +31 -0
- luna_sdk/utils/parameter_finder.py +90 -0
- luna_sdk/constants.py +0 -1
- {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/LICENSE +0 -0
- {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/WHEEL +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: luna-quantum
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.29
|
|
4
4
|
Summary: Python SDK for Aqarios' Luna Platform
|
|
5
5
|
Home-page: https://aqarios.com/
|
|
6
6
|
License: Apache-2.0
|
|
@@ -25,6 +25,7 @@ Requires-Dist: dwave-neal (>=0.6.0,<0.7.0) ; extra == "transformations" or extra
|
|
|
25
25
|
Requires-Dist: httpx (>=0.26.0,<0.27.0)
|
|
26
26
|
Requires-Dist: networkx (>=2.7.1,<3.0.0) ; extra == "examples"
|
|
27
27
|
Requires-Dist: pydantic (>=2.6.1,<3.0.0)
|
|
28
|
+
Requires-Dist: python-dateutil (>=2.9.0,<3.0.0)
|
|
28
29
|
Requires-Dist: qiskit (>=0.45.1,<0.46.0) ; extra == "examples"
|
|
29
30
|
Requires-Dist: qiskit-ibm-runtime (>=0.18.0,<0.19.0) ; extra == "examples"
|
|
30
31
|
Requires-Dist: qiskit-optimization[cplex] (>=0.6.0,<0.7.0) ; extra == "transformations" or extra == "examples"
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
luna_sdk/__init__.py,sha256=9s6JkcSeRF4WtFo80TelzXXHFhX8w7fXiaJr59V9ScM,100
|
|
2
|
-
luna_sdk/constants.py,sha256=MmbYlLrwDYmahL0yMtC2BUNVeSLAitVqTG31PJZTTv4,33
|
|
3
2
|
luna_sdk/controllers/__init__.py,sha256=ivTapH8np5mQeVEevxwsWawCtVSG4Wep72rNp7nEZXw,60
|
|
4
|
-
luna_sdk/controllers/custom_login_client.py,sha256=
|
|
5
|
-
luna_sdk/controllers/luna_platform_client.py,sha256=
|
|
6
|
-
luna_sdk/controllers/luna_q.py,sha256
|
|
7
|
-
luna_sdk/controllers/luna_solve.py,sha256=
|
|
8
|
-
luna_sdk/controllers/luna_transform.py,sha256=
|
|
3
|
+
luna_sdk/controllers/custom_login_client.py,sha256=1sc1h0vLoDEWhMIm3zWp03Ff54C3-9CK84KIM2t57a4,2240
|
|
4
|
+
luna_sdk/controllers/luna_platform_client.py,sha256=1IRspVMkwcEaKYJhr1NDQ0kWXu7DnQ1tqQZunDOmVXo,1877
|
|
5
|
+
luna_sdk/controllers/luna_q.py,sha256=IVaclfTQKPSY28rucssWsLSsmXHA5pS-CB_kmPLbchg,1230
|
|
6
|
+
luna_sdk/controllers/luna_solve.py,sha256=nFSqgB0UEC8VLvfDl3Iinm8cfos08vWlEg8lVgzsMX0,1777
|
|
7
|
+
luna_sdk/controllers/luna_transform.py,sha256=eFUU1RafYMUPZ-E_QZNQfYD-zMkcZOvwYtwgmvKHsXQ,1286
|
|
9
8
|
luna_sdk/error/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
9
|
luna_sdk/error/http_error_utils.py,sha256=1-Q-W-_RaHKlA2zOXJLLaZamBWNQpf9Oc4SAX4hJdEk,3317
|
|
11
10
|
luna_sdk/exceptions/__init__.py,sha256=DSKaPN374rR2zccmpLvlqntxDsjFwgSexXtva795ae0,52
|
|
@@ -15,28 +14,28 @@ luna_sdk/exceptions/luna_server_exception.py,sha256=y4J1TzfMF_kmuh5g8hpP2k_SnV0a
|
|
|
15
14
|
luna_sdk/exceptions/timeout_exception.py,sha256=ppEGsUk-6NtBy2-RyBfzjR1IhDmIwPWwg03BOsET4OA,367
|
|
16
15
|
luna_sdk/exceptions/transformation.py,sha256=lykEeWonvfvWAyU2DoKzR-GtFc-KEAvrfWlnWT9ylqc,381
|
|
17
16
|
luna_sdk/interfaces/__init__.py,sha256=WwAzuNWP6SNMJk_U_Hqc5U2mRsG2_m-sSQZPMYUDWfY,213
|
|
18
|
-
luna_sdk/interfaces/circuit_repo_i.py,sha256=
|
|
17
|
+
luna_sdk/interfaces/circuit_repo_i.py,sha256=65SSefsrpo_MKFTGkdT1o5PJ7pQ9n9tmSnunoQ_Mruo,1946
|
|
19
18
|
luna_sdk/interfaces/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
19
|
luna_sdk/interfaces/clients/client_i.py,sha256=_I8mTIfavI3Yv7TPD9HsTxF3uI4WzDucFvgEb2EtOAo,185
|
|
21
20
|
luna_sdk/interfaces/clients/luna_q_i.py,sha256=_DHDirve9yoVO8zb5i3WkTMx-LPu9TtasjF4OUfCaRw,765
|
|
22
21
|
luna_sdk/interfaces/clients/luna_solve_i.py,sha256=UTqDpNPnkFgxFAsA555xMFWq42GTwxGgDJUFcRMi2R8,955
|
|
23
22
|
luna_sdk/interfaces/clients/luna_transform_i.py,sha256=xpS2ODs83rICbA3oAKzf80rpBezZO924WI-P6NzIv2M,676
|
|
24
|
-
luna_sdk/interfaces/cplex_repo_i.py,sha256=
|
|
25
|
-
luna_sdk/interfaces/info_repo_i.py,sha256=
|
|
26
|
-
luna_sdk/interfaces/lp_repo_i.py,sha256=
|
|
27
|
-
luna_sdk/interfaces/optimization_repo_i.py,sha256=
|
|
28
|
-
luna_sdk/interfaces/qpu_token_repo_i.py,sha256=
|
|
23
|
+
luna_sdk/interfaces/cplex_repo_i.py,sha256=a2CWG1m4YmQAlcM022Xfk09BHVmcd3y2H-GMr1N4vx8,3786
|
|
24
|
+
luna_sdk/interfaces/info_repo_i.py,sha256=hCUYNoqjAKwz6l-61XtymX-UboosDX1RaTTiX64EXXc,1345
|
|
25
|
+
luna_sdk/interfaces/lp_repo_i.py,sha256=hixIKvJ8jz9VOUi33B3K2VvFLcR7eKfeooJwktquyhc,3052
|
|
26
|
+
luna_sdk/interfaces/optimization_repo_i.py,sha256=jaq6YXmFtUb6BbsLJos6B9VSzBUJ6YxgscNm6DyIl3M,6154
|
|
27
|
+
luna_sdk/interfaces/qpu_token_repo_i.py,sha256=kokPGQj7k1E2UzG1W1ZycjET5ZPvjdQl1kqBT2vGTNM,4505
|
|
29
28
|
luna_sdk/interfaces/repository_i.py,sha256=vJz8pbggkuLLC333qzjepj3TMPh49LUnyh3pJDlcGi0,287
|
|
30
|
-
luna_sdk/interfaces/solutions_repo_i.py,sha256=
|
|
29
|
+
luna_sdk/interfaces/solutions_repo_i.py,sha256=YmQxgDGSLZNQ-P7jzlw1zTnut5Q1KVeRbcJEuocB3VQ,7767
|
|
31
30
|
luna_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
31
|
luna_sdk/repositories/__init__.py,sha256=HxD02fpzlcIt5YkBHd7LwIp_eE6eFuAz2VDnlrakwJQ,169
|
|
33
|
-
luna_sdk/repositories/circuit_repo.py,sha256=
|
|
34
|
-
luna_sdk/repositories/cplex_repo.py,sha256=
|
|
35
|
-
luna_sdk/repositories/info_repo.py,sha256=
|
|
36
|
-
luna_sdk/repositories/lp_repo.py,sha256=
|
|
37
|
-
luna_sdk/repositories/optimization_repo.py,sha256=
|
|
38
|
-
luna_sdk/repositories/qpu_token_repo.py,sha256=
|
|
39
|
-
luna_sdk/repositories/solutions_repo.py,sha256=
|
|
32
|
+
luna_sdk/repositories/circuit_repo.py,sha256=h3Moypl-pba8J-sNTBsOxnbKtu6RCmmX5c_4JnfQfCw,2552
|
|
33
|
+
luna_sdk/repositories/cplex_repo.py,sha256=6vlx6YTJoDSWFSZDDNrPk3E7pa5WWGqG25bhTwQdqHQ,5098
|
|
34
|
+
luna_sdk/repositories/info_repo.py,sha256=GzRW5RwhRJrNjujw8Y7vJY8vV_tHzbfwXo0viHuxqUM,1270
|
|
35
|
+
luna_sdk/repositories/lp_repo.py,sha256=T44XMbdbW7k9a4z6JgIj1kb0bBZxepn-93vxdZOQa80,4370
|
|
36
|
+
luna_sdk/repositories/optimization_repo.py,sha256=UHqJ_dZ9jyQF205naREyk10FUCuC6HfJ1dAxjMBS39M,6025
|
|
37
|
+
luna_sdk/repositories/qpu_token_repo.py,sha256=_9r418j-wHksZ-cSNHeQb_slz7yn5WniovjV7qv2e0E,4343
|
|
38
|
+
luna_sdk/repositories/solutions_repo.py,sha256=Q5Q30oRyUnayXkp4z_jPcjDpxYRoPjzWBWUqg2EAFWQ,9242
|
|
40
39
|
luna_sdk/schemas/__init__.py,sha256=lTix3zUl2Z8ZLA2BTF4pls5S-kqlVZ3cIdAZwGxPSUI,248
|
|
41
40
|
luna_sdk/schemas/circuit.py,sha256=r3Bv0lyhrvFoI3Gf8eq-PS3kyivTWY3IJmRH0X2LoCk,1067
|
|
42
41
|
luna_sdk/schemas/create/__init__.py,sha256=7G2yflImpZJxHn3l4Op5CsQAxwKGmvWJSttq9kmiHq0,90
|
|
@@ -44,7 +43,7 @@ luna_sdk/schemas/create/circuit.py,sha256=vV2r6xk24_aHe9oo0dt3wVeOHcyD02lXNR-Yyj
|
|
|
44
43
|
luna_sdk/schemas/create/optimization.py,sha256=Z9pKoD0y6BjKvl8gQ6XK76bdvq8etvcoNU4RwxnUvHA,759
|
|
45
44
|
luna_sdk/schemas/create/qpu_token.py,sha256=XE3WoNL3Q8QFEDshXoSrAKQXgT_zthKvihKqJHi8250,492
|
|
46
45
|
luna_sdk/schemas/create/qubo.py,sha256=5Y_jWicEnoV82Ubc-f0a_qy9hCuPBumhsGWY8wzMIuA,293
|
|
47
|
-
luna_sdk/schemas/create/solution.py,sha256=
|
|
46
|
+
luna_sdk/schemas/create/solution.py,sha256=K97JHH-p5z0P_niTVX6YBPoDc0rgIpJG5O4uaUhcs48,410
|
|
48
47
|
luna_sdk/schemas/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
48
|
luna_sdk/schemas/enums/circuit.py,sha256=smz_DouDo_K8rs4N5aIOj2PS9w6DX1CFYX0bv6f6JFw,252
|
|
50
49
|
luna_sdk/schemas/enums/optimization.py,sha256=K-lv6PLJ4qo4vNVEKHsLU1rEv-QnFfl_FlN1xqZOXUc,170
|
|
@@ -54,54 +53,56 @@ luna_sdk/schemas/enums/solution.py,sha256=Vax6MX62UDwApbwzf1nrhuFWw1Iiq77gUch7_1
|
|
|
54
53
|
luna_sdk/schemas/enums/status.py,sha256=KHaOgePqB3GNhFYLo2Sp-JAEXBPN_ZVDmj2WobrT5N4,204
|
|
55
54
|
luna_sdk/schemas/enums/timeframe.py,sha256=vwoZsgAYGvqF67qdcXMEnHkqbiRcVY5uK-4-ZTFcurI,238
|
|
56
55
|
luna_sdk/schemas/error_message.py,sha256=svCs-mWQsp3BMEhzZFqskbyP6iS78eVUOPaiWFc4sEQ,307
|
|
57
|
-
luna_sdk/schemas/optimization.py,sha256=
|
|
56
|
+
luna_sdk/schemas/optimization.py,sha256=cB57hs_7VsE8h4YQGj3XuX4Mqp3SZmnu2Y90s4jl1jw,2033
|
|
58
57
|
luna_sdk/schemas/optimization_formats/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
58
|
luna_sdk/schemas/optimization_formats/bqm.py,sha256=rrmiZYe_iEdgBFusJeJfY8PVSxgf1Wv79FgMQUm2YVs,910
|
|
60
59
|
luna_sdk/schemas/optimization_formats/cqm.py,sha256=VZiNJy4yc-8o3gHoH0E-uaNOHj7UfAGCqznTzKBv0NQ,4257
|
|
61
60
|
luna_sdk/schemas/optimization_formats/lp.py,sha256=iXFDBmHktHsYc79ngSraylCpa-EVMFwN01788fnjFzY,175
|
|
62
61
|
luna_sdk/schemas/optimization_formats/qm.py,sha256=yUEZF7FOvXv1Mb5FMiX1q0Rk5w2ltrh7HInfFEiVSXU,912
|
|
63
|
-
luna_sdk/schemas/pretty_base.py,sha256=
|
|
64
|
-
luna_sdk/schemas/qpu_token.py,sha256=
|
|
62
|
+
luna_sdk/schemas/pretty_base.py,sha256=ZyVdwdY5JfmNlfqZDm6MdTs5roNGtv0Pe805r4N25Z4,1845
|
|
63
|
+
luna_sdk/schemas/qpu_token.py,sha256=SRpqMynft7GwiOlEQCYkVQyfcbtm9szuXIHQRtgRU_s,1575
|
|
65
64
|
luna_sdk/schemas/representation.py,sha256=0RKVV0XxHOJZ1o9grxTq5ri3cGLziyCFObDwQuXIOEY,364
|
|
66
65
|
luna_sdk/schemas/rest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
66
|
luna_sdk/schemas/rest/qpu_token/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
67
|
luna_sdk/schemas/rest/qpu_token/token_provider.py,sha256=yDD17uIuio5FisarDBiGQwMpl-_QXRYttuFAZ9w-V00,1430
|
|
69
|
-
luna_sdk/schemas/solution.py,sha256=
|
|
70
|
-
luna_sdk/schemas/solver_info.py,sha256=
|
|
68
|
+
luna_sdk/schemas/solution.py,sha256=IRtZneNRN5IbSEMHKHc0NYJ7lf74RxZTHoYJI7z2QoY,6871
|
|
69
|
+
luna_sdk/schemas/solver_info.py,sha256=ZUCdTI8zpPZ8EquLYyrLU35pZ4VkzcPUSYeQWkdijHM,799
|
|
71
70
|
luna_sdk/schemas/solver_parameters/aws/__init__.py,sha256=CXjKWzgnP_d1_RvQUfWyaaWvsZ1FxLJN5K61QmRa-uw,33
|
|
72
|
-
luna_sdk/schemas/solver_parameters/aws/
|
|
71
|
+
luna_sdk/schemas/solver_parameters/aws/optimizer_params.py,sha256=w0eg1SnTpKnuq48YG8JAC1LY0bxsTlZIJ2XbT2ySTHw,1374
|
|
72
|
+
luna_sdk/schemas/solver_parameters/aws/qaoa.py,sha256=Mc7zfdWgLxh2Kb0r5OmL3RIkYlB1mnu6jUpmfYG2BBg,2290
|
|
73
|
+
luna_sdk/schemas/solver_parameters/base_parameter.py,sha256=v8nk1aVKW_MaePxxNXXb3hcVDtzkQF1sGlvZ2YXXJVI,123
|
|
73
74
|
luna_sdk/schemas/solver_parameters/dwave/__init__.py,sha256=yHsBQ5d1mCS90Y1JcTCOPjNCrEiGT23wI9GyPnYlIqo,2453
|
|
74
|
-
luna_sdk/schemas/solver_parameters/dwave/base.py,sha256=
|
|
75
|
-
luna_sdk/schemas/solver_parameters/dwave/dialectic_search.py,sha256=
|
|
76
|
-
luna_sdk/schemas/solver_parameters/dwave/kerberos.py,sha256=
|
|
77
|
-
luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_bqm.py,sha256=
|
|
78
|
-
luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_cqm.py,sha256=
|
|
79
|
-
luna_sdk/schemas/solver_parameters/dwave/parallel_tempering.py,sha256=
|
|
80
|
-
luna_sdk/schemas/solver_parameters/dwave/parallel_tempering_qpu.py,sha256=
|
|
81
|
-
luna_sdk/schemas/solver_parameters/dwave/population_annealing.py,sha256=
|
|
82
|
-
luna_sdk/schemas/solver_parameters/dwave/population_annealing_qpu.py,sha256=
|
|
83
|
-
luna_sdk/schemas/solver_parameters/dwave/qaga.py,sha256=
|
|
84
|
-
luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_qpu.py,sha256=
|
|
85
|
-
luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_simulated_annealing.py,sha256=
|
|
86
|
-
luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_tabu_search.py,sha256=
|
|
87
|
-
luna_sdk/schemas/solver_parameters/dwave/quantum_annealing.py,sha256=
|
|
88
|
-
luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_quantum_annealing.py,sha256=
|
|
89
|
-
luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_simulated_annealing.py,sha256=
|
|
90
|
-
luna_sdk/schemas/solver_parameters/dwave/saga.py,sha256=
|
|
75
|
+
luna_sdk/schemas/solver_parameters/dwave/base.py,sha256=PpPF49uT8XWzK-kRpkszYeFdFbksWkEDBqimq38-mzc,17281
|
|
76
|
+
luna_sdk/schemas/solver_parameters/dwave/dialectic_search.py,sha256=CnXg7rcZ7mHkbSLrYXPot3-73YiWTRhkhyRmjZ_pvvs,1205
|
|
77
|
+
luna_sdk/schemas/solver_parameters/dwave/kerberos.py,sha256=OPzCgo9h5845R3Sg_TrSkwp4gjoRKEHxhAhSdcJxY6c,2674
|
|
78
|
+
luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_bqm.py,sha256=foPfMJLQ0enO3omknKuqIxfZTXd9oIbfi_e-N0o2tmM,637
|
|
79
|
+
luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_cqm.py,sha256=vEKPvNB06hV_AWjRpUDrvpXPTlCqmQD0Sd-VHhoc5qs,727
|
|
80
|
+
luna_sdk/schemas/solver_parameters/dwave/parallel_tempering.py,sha256=maiOxI4YxcyA4gg2Xx6Oa0mNbmusDEM1ZWbsw6wcQys,1123
|
|
81
|
+
luna_sdk/schemas/solver_parameters/dwave/parallel_tempering_qpu.py,sha256=wy4l1KeiR8bmUHbv0r2Y1rohzU45L-Pce2ka3aPDijI,1197
|
|
82
|
+
luna_sdk/schemas/solver_parameters/dwave/population_annealing.py,sha256=dwWsCdeu16dYXX9n46_TXs-8TwuIT6Sp46Dur40Ga-Q,1044
|
|
83
|
+
luna_sdk/schemas/solver_parameters/dwave/population_annealing_qpu.py,sha256=bBMO68siEmpCcgPmi8YwiSy9L2LirHvK_fWsxiWpBcU,1338
|
|
84
|
+
luna_sdk/schemas/solver_parameters/dwave/qaga.py,sha256=gVucZ_1feFb7aKl6W2m34_Hx46mbshoz9Z2K4EZgngc,2499
|
|
85
|
+
luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_qpu.py,sha256=d72lNLdtD-G6WtVGwqmCse9r_O3inDAbLc6tbDlyu-Y,554
|
|
86
|
+
luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_simulated_annealing.py,sha256=wo5Gt6A-N7APE2Nhz_eOhxmW7P_IYTzvdDKe-4kIMn4,976
|
|
87
|
+
luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_tabu_search.py,sha256=5r5piwo5BsAAlXmyqYMxXZDvgVTvjdJ2hVMr7-7h_lk,840
|
|
88
|
+
luna_sdk/schemas/solver_parameters/dwave/quantum_annealing.py,sha256=h7HXAV67hdcsB0v00AcGNoMtb3pGjyjTG2HY-u3rsHg,631
|
|
89
|
+
luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_quantum_annealing.py,sha256=9QTkdgSesWVIfGo31uNMM0Xo-qIuL8XcmIOHlT4MzJU,3771
|
|
90
|
+
luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_simulated_annealing.py,sha256=UeLr2MnPS3zTBQgH6eq5hYvPJpOjQjqG-shHuQ8Ct0M,4569
|
|
91
|
+
luna_sdk/schemas/solver_parameters/dwave/saga.py,sha256=pXWGZVXRgSMJRi3-NuyO7moai198cWXeGbvq5We-1EE,3118
|
|
91
92
|
luna_sdk/schemas/solver_parameters/dwave/simulated_annealing.py,sha256=cU2UoN8xo3iM34LJhaLc-tYsCo-RqpOstiktEi79QRU,4047
|
|
92
|
-
luna_sdk/schemas/solver_parameters/dwave/tabu_search.py,sha256=
|
|
93
|
+
luna_sdk/schemas/solver_parameters/dwave/tabu_search.py,sha256=fqLoUcBT_CVBq8nmY-KGO_wBmVpAgUSSoS8N_tAOZ6E,3979
|
|
93
94
|
luna_sdk/schemas/solver_parameters/fujitsu/__init__.py,sha256=V4CSTiNSmtBvNuQpxiTZqX9T-oV4M8hZGQ_eO5Ro8vU,549
|
|
94
|
-
luna_sdk/schemas/solver_parameters/fujitsu/base.py,sha256=
|
|
95
|
+
luna_sdk/schemas/solver_parameters/fujitsu/base.py,sha256=yDM2sLBtg-a5OsD3GqwTd-HMmIwJtubbP_QxQcrkDnA,1813
|
|
95
96
|
luna_sdk/schemas/solver_parameters/fujitsu/digital_annealer_cpu.py,sha256=EBPE7mwtUNs5CmyVkdWV9jQT_YnW8FWsYQ0VyCHBVNM,9747
|
|
96
97
|
luna_sdk/schemas/solver_parameters/fujitsu/digital_annealer_v2.py,sha256=SJb4Uffj7WmBf1-9ai0dTj1WE5A7A3pVhV9FXAcmJ-8,10343
|
|
97
98
|
luna_sdk/schemas/solver_parameters/fujitsu/digital_annealer_v3.py,sha256=0iQBGLtT8SJaR6iKwoNytANtnZuoTtQmmc-jGSFCntU,12743
|
|
98
|
-
luna_sdk/schemas/solver_parameters/fujitsu/partial_config.py,sha256=
|
|
99
|
+
luna_sdk/schemas/solver_parameters/fujitsu/partial_config.py,sha256=4m9DURxXSr1-yKRCCMii-VUKSNTL4Zs1ibYzAHFhPeg,8166
|
|
99
100
|
luna_sdk/schemas/solver_parameters/ibm/__init__.py,sha256=KGH8Dx8mNe2qKeIS6emcuibbVzqUETXDsQk9OwemyuQ,165
|
|
100
101
|
luna_sdk/schemas/solver_parameters/ibm/qaoa.py,sha256=71ogy-ViA2bggVf4-GglVW-LVn9yKDNWEoKs09ApI5A,2453
|
|
101
|
-
luna_sdk/schemas/solver_parameters/ibm/standard_parameters.py,sha256=
|
|
102
|
+
luna_sdk/schemas/solver_parameters/ibm/standard_parameters.py,sha256=ntWmDrf672syYZ1PwOg33e-yBuVi0de4H58qWEcRa8g,4710
|
|
102
103
|
luna_sdk/schemas/solver_parameters/ibm/vqe.py,sha256=2uCgqHJHAmRO53wP4YKLkFVVwHhThkgk3A9CB1tQOFM,2198
|
|
103
104
|
luna_sdk/schemas/solver_parameters/qctrl/__init__.py,sha256=mB7Rl-9cNCiJ7ueGXEHazSecxlOI3CVZd1AD-xKqzJY,73
|
|
104
|
-
luna_sdk/schemas/solver_parameters/qctrl/qaoa.py,sha256=
|
|
105
|
+
luna_sdk/schemas/solver_parameters/qctrl/qaoa.py,sha256=wolh1p0A7iD-q2vbITjzPUmp3Jva0D1_Ft4LjZm81Ak,1950
|
|
105
106
|
luna_sdk/schemas/transformations/__init__.py,sha256=3M2rkSeGCuEHvL9joHjA34xiXgocpvpCey4GkywkW58,90
|
|
106
107
|
luna_sdk/schemas/transformations/bqm.py,sha256=n3D8rVFutJ3ChWNakqfQaBMcTTldaF3bFQsYyDo-mt4,679
|
|
107
108
|
luna_sdk/schemas/transformations/matrix.py,sha256=SbPzVQUm7racTECkgRLeiUreaNwaa_RXZI3IivnpKw0,251
|
|
@@ -152,9 +153,12 @@ luna_sdk/schemas/use_cases/traffic_flow.py,sha256=wWDOPsFOYw3RxOh4Q8NLOm270pvuIj
|
|
|
152
153
|
luna_sdk/schemas/use_cases/travelling_salesman_problem.py,sha256=PnqDf4CihQB4PRZd3BNxT1W2bizmQ_h7dccxrp99qLc,1701
|
|
153
154
|
luna_sdk/schemas/use_cases/type_aliases.py,sha256=4qR7uRU77aTGC5x1q8Vi_zgTrpVMhVbpnSQovzSV-Rs,257
|
|
154
155
|
luna_sdk/schemas/use_cases/weighted_max_cut.py,sha256=fpAns-MiONHvotI-lSSQvoxW7lx9OUzBtihx3GbGuyw,1022
|
|
156
|
+
luna_sdk/schemas/wrappers/__init__.py,sha256=1zq5BWRjDidbRJ346JOCSbP6Q9rhf4NiLhZY4xKrKq4,54
|
|
157
|
+
luna_sdk/schemas/wrappers/datetime_wrapper.py,sha256=6usmPJNRYA4Fe_-0NGwe7RYams46CCAXpJs8YULu_yc,794
|
|
155
158
|
luna_sdk/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
159
|
+
luna_sdk/utils/parameter_finder.py,sha256=LKkd1upH3Djd6eqkcSQ2feNwPUiKi8soYkx6JT1_VSg,2937
|
|
156
160
|
luna_sdk/utils/qpu_tokens.py,sha256=XpUNI102TLshfR85ZxvSFmXmH1fb1JAI8NKlIiuWEqc,1535
|
|
157
|
-
luna_quantum-0.0.
|
|
158
|
-
luna_quantum-0.0.
|
|
159
|
-
luna_quantum-0.0.
|
|
160
|
-
luna_quantum-0.0.
|
|
161
|
+
luna_quantum-0.0.29.dist-info/LICENSE,sha256=rwwuFPLz36oRvjWu2oEeX42Qtn9gmbh7zRC2OqCFNaI,11342
|
|
162
|
+
luna_quantum-0.0.29.dist-info/METADATA,sha256=STnBLAwQav1LezmFuJqjCyUepQIDFnYcRl2eS7kIb0w,2311
|
|
163
|
+
luna_quantum-0.0.29.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
164
|
+
luna_quantum-0.0.29.dist-info/RECORD,,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from http.client import UNAUTHORIZED
|
|
3
|
+
from importlib.metadata import version
|
|
3
4
|
|
|
4
5
|
from httpx import Client, ReadTimeout, Response
|
|
5
6
|
|
|
6
|
-
from luna_sdk.constants import LUNA_SDK_VERSION
|
|
7
7
|
from luna_sdk.error.http_error_utils import HttpErrorUtils
|
|
8
8
|
from luna_sdk.exceptions.timeout_exception import TimeoutException
|
|
9
9
|
|
|
@@ -14,7 +14,9 @@ class CustomLoginClient(Client):
|
|
|
14
14
|
_password: str
|
|
15
15
|
_bearer_token: str
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
_version: str = version("luna-quantum")
|
|
18
|
+
|
|
19
|
+
_user_agent: str = f"LunaSDK/{_version}"
|
|
18
20
|
|
|
19
21
|
def __init__(self, email: str, password: str, login_url: str, *args, **kwargs):
|
|
20
22
|
super().__init__(*args, **kwargs)
|
|
@@ -36,6 +38,9 @@ class CustomLoginClient(Client):
|
|
|
36
38
|
self._login_url,
|
|
37
39
|
data={"username": email, "password": password},
|
|
38
40
|
headers=headers,
|
|
41
|
+
# Ensure timeout is high enough. CustomLoginClient will be deleted in
|
|
42
|
+
# near future anyway.
|
|
43
|
+
timeout=None,
|
|
39
44
|
)
|
|
40
45
|
HttpErrorUtils.check_for_error(response)
|
|
41
46
|
|
|
@@ -55,7 +60,7 @@ class CustomLoginClient(Client):
|
|
|
55
60
|
)
|
|
56
61
|
logging.info("Trying request again")
|
|
57
62
|
response = super().request(*args, **kwargs)
|
|
58
|
-
except ReadTimeout
|
|
63
|
+
except ReadTimeout:
|
|
59
64
|
raise TimeoutException()
|
|
60
65
|
HttpErrorUtils.check_for_error(response)
|
|
61
66
|
return response
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import os
|
|
2
|
+
from typing import Optional
|
|
2
3
|
|
|
3
4
|
from httpx import Client
|
|
4
|
-
from luna_sdk.controllers.custom_login_client import CustomLoginClient
|
|
5
5
|
|
|
6
|
+
from luna_sdk.controllers.custom_login_client import CustomLoginClient
|
|
6
7
|
from luna_sdk.interfaces.clients.client_i import IClient
|
|
7
8
|
|
|
8
9
|
|
|
@@ -16,12 +17,12 @@ class LunaPlatformClient(IClient):
|
|
|
16
17
|
email: str,
|
|
17
18
|
password: str,
|
|
18
19
|
base_url: str = os.getenv("LUNA_BASE_URL", "https://api.aqarios.com"),
|
|
19
|
-
timeout: float =
|
|
20
|
+
timeout: Optional[float] = 240.0,
|
|
20
21
|
):
|
|
21
22
|
"""
|
|
22
|
-
|
|
23
|
+
LunaPlatformClient is a main entrypoint of the SDK.
|
|
23
24
|
All the operations with entities should be processed using an instance of
|
|
24
|
-
|
|
25
|
+
LunaPlatformClient.
|
|
25
26
|
|
|
26
27
|
Parameters
|
|
27
28
|
----------
|
|
@@ -35,11 +36,10 @@ class LunaPlatformClient(IClient):
|
|
|
35
36
|
You can do that by setting the environment variable LUNA_BASE_URL.
|
|
36
37
|
Default value https://api.aqarios.com.
|
|
37
38
|
timeout:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
-------
|
|
39
|
+
Default timeout in seconds for the requests via the LunaQ client. `None`
|
|
40
|
+
means that the SDK uses no timeouts. Note that either way the Luna platform
|
|
41
|
+
itself will time out after 240 seconds.
|
|
42
|
+
Default: 240.0
|
|
43
43
|
"""
|
|
44
44
|
self._base_url = f"{base_url}/api"
|
|
45
45
|
|
luna_sdk/controllers/luna_q.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
1
3
|
from luna_sdk.controllers.luna_platform_client import LunaPlatformClient
|
|
2
4
|
from luna_sdk.interfaces import ICircuitRepo
|
|
3
5
|
from luna_sdk.interfaces.clients.luna_q_i import ILunaQ
|
|
@@ -9,12 +11,7 @@ class LunaQ(LunaPlatformClient, ILunaQ):
|
|
|
9
11
|
qpu_token: IQpuTokenRepo = None # type: ignore
|
|
10
12
|
circuit: ICircuitRepo = None # type: ignore
|
|
11
13
|
|
|
12
|
-
def __init__(
|
|
13
|
-
self,
|
|
14
|
-
email: str,
|
|
15
|
-
password: str,
|
|
16
|
-
timeout: float = 10.0,
|
|
17
|
-
):
|
|
14
|
+
def __init__(self, email: str, password: str, timeout: Optional[float] = 240.0):
|
|
18
15
|
"""
|
|
19
16
|
LunaQ is the main entrypoint for all LunaQ related tasks.
|
|
20
17
|
|
|
@@ -25,10 +22,10 @@ class LunaQ(LunaPlatformClient, ILunaQ):
|
|
|
25
22
|
password: str
|
|
26
23
|
User's password
|
|
27
24
|
timeout: float
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
Default timeout in seconds for the requests via the LunaQ client. `None`
|
|
26
|
+
means that the SDK uses no timeouts. Note that either way the Luna platform
|
|
27
|
+
itself will time out after 240 seconds.
|
|
28
|
+
Default: 240.0
|
|
32
29
|
"""
|
|
33
30
|
super().__init__(email=email, password=password, timeout=timeout)
|
|
34
31
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
1
3
|
from luna_sdk.controllers.luna_platform_client import LunaPlatformClient
|
|
2
4
|
from luna_sdk.interfaces import ISolutionsRepo
|
|
3
5
|
from luna_sdk.interfaces.clients.luna_solve_i import ILunaSolve
|
|
@@ -16,12 +18,7 @@ class LunaSolve(LunaPlatformClient, ILunaSolve):
|
|
|
16
18
|
qpu_token: IQpuTokenRepo = None # type: ignore
|
|
17
19
|
info: IInfoRepo = None # type: ignore
|
|
18
20
|
|
|
19
|
-
def __init__(
|
|
20
|
-
self,
|
|
21
|
-
email: str,
|
|
22
|
-
password: str,
|
|
23
|
-
timeout: float = 10.0,
|
|
24
|
-
):
|
|
21
|
+
def __init__(self, email: str, password: str, timeout: Optional[float] = 240.0):
|
|
25
22
|
"""
|
|
26
23
|
LunaSolve is the main entrypoint for all LunaSolve related tasks.
|
|
27
24
|
|
|
@@ -32,16 +29,12 @@ class LunaSolve(LunaPlatformClient, ILunaSolve):
|
|
|
32
29
|
password: str
|
|
33
30
|
User's password
|
|
34
31
|
timeout: float
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
Default timeout in seconds for the requests via the LunaQ client. `None`
|
|
33
|
+
means that the SDK uses no timeouts. Note that either way the Luna platform
|
|
34
|
+
itself will time out after 240 seconds.
|
|
35
|
+
Default: 240.0
|
|
39
36
|
"""
|
|
40
|
-
super().__init__(
|
|
41
|
-
email=email,
|
|
42
|
-
password=password,
|
|
43
|
-
timeout=timeout,
|
|
44
|
-
)
|
|
37
|
+
super().__init__(email=email, password=password, timeout=timeout)
|
|
45
38
|
|
|
46
39
|
self.optimization = OptimizationRepo(self._client)
|
|
47
40
|
self.solution = SolutionsRepo(self._client)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
1
3
|
from luna_sdk.controllers.luna_platform_client import LunaPlatformClient
|
|
2
4
|
from luna_sdk.interfaces.clients.luna_transform_i import ILunaTransform
|
|
3
5
|
from luna_sdk.interfaces.cplex_repo_i import ICplexRepo
|
|
@@ -10,14 +12,9 @@ class LunaTransform(LunaPlatformClient, ILunaTransform):
|
|
|
10
12
|
cplex: ICplexRepo = None # type: ignore
|
|
11
13
|
lp: ILPRepo = None # type: ignore
|
|
12
14
|
|
|
13
|
-
def __init__(
|
|
14
|
-
self,
|
|
15
|
-
email: str,
|
|
16
|
-
password: str,
|
|
17
|
-
timeout: float = 10.0,
|
|
18
|
-
):
|
|
15
|
+
def __init__(self, email: str, password: str, timeout: Optional[float] = 240.0):
|
|
19
16
|
"""
|
|
20
|
-
|
|
17
|
+
LunaTransform is the main entrypoint for all LunaTransform related tasks.
|
|
21
18
|
|
|
22
19
|
Parameters
|
|
23
20
|
----------
|
|
@@ -26,16 +23,12 @@ class LunaTransform(LunaPlatformClient, ILunaTransform):
|
|
|
26
23
|
password: str
|
|
27
24
|
User's password
|
|
28
25
|
timeout: float
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
Default timeout in seconds for the requests via the LunaQ client. `None`
|
|
27
|
+
means that the SDK uses no timeouts. Note that either way the Luna platform
|
|
28
|
+
itself will time out after 240 seconds.
|
|
29
|
+
Default: 240.0
|
|
33
30
|
"""
|
|
34
|
-
super().__init__(
|
|
35
|
-
email=email,
|
|
36
|
-
password=password,
|
|
37
|
-
timeout=timeout,
|
|
38
|
-
)
|
|
31
|
+
super().__init__(email=email, password=password, timeout=timeout)
|
|
39
32
|
|
|
40
33
|
self.cplex = CplexRepo(self._client)
|
|
41
34
|
self.lp = LPRepo(self._client)
|
|
@@ -15,8 +15,8 @@ class ICircuitRepo(IRepository, ABC):
|
|
|
15
15
|
provider: CircuitProviderEnum,
|
|
16
16
|
params: Dict[str, Any] = {},
|
|
17
17
|
qpu_tokens: Optional[TokenProvider] = None,
|
|
18
|
-
timeout: Optional[float] = 10800.0,
|
|
19
18
|
encryption_key: Optional[str] = None,
|
|
19
|
+
**kwargs,
|
|
20
20
|
) -> CircuitJob:
|
|
21
21
|
"""
|
|
22
22
|
Create a circuit solution.
|
|
@@ -31,12 +31,11 @@ class ICircuitRepo(IRepository, ABC):
|
|
|
31
31
|
Additional parameters of the circuit.
|
|
32
32
|
qpu_tokens: Optional[TokenProvider]
|
|
33
33
|
The tokens to be used for the QPU.
|
|
34
|
-
timeout: Optional[float]
|
|
35
|
-
Default = 10800.0. Timeout for the api request. If set to None,
|
|
36
|
-
there won't be any timeout. Increase or disable the timeout if you face
|
|
37
|
-
issues uploading big Problems.
|
|
38
34
|
encryption_key: Optional[str]
|
|
39
35
|
Encryption key to be used for encryption of QPU tokens.
|
|
36
|
+
**kwargs
|
|
37
|
+
Parameters to pass to `httpx.request`.
|
|
38
|
+
|
|
40
39
|
Returns
|
|
41
40
|
-------
|
|
42
41
|
CircuitJob
|
|
@@ -46,17 +45,24 @@ class ICircuitRepo(IRepository, ABC):
|
|
|
46
45
|
|
|
47
46
|
@abstractmethod
|
|
48
47
|
def get(
|
|
49
|
-
self,
|
|
48
|
+
self,
|
|
49
|
+
job: CircuitJob,
|
|
50
|
+
encryption_key: Optional[str] = None,
|
|
51
|
+
**kwargs,
|
|
50
52
|
) -> CircuitResult:
|
|
51
53
|
"""
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
Get the result of a circuit.
|
|
55
|
+
|
|
56
|
+
Parameters
|
|
57
|
+
----------
|
|
54
58
|
encryption_key: Optional[str]
|
|
55
59
|
Encryption key to be used for encryption of QPU tokens.
|
|
60
|
+
**kwargs
|
|
61
|
+
Parameters to pass to `httpx.request`.
|
|
56
62
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
Returns
|
|
64
|
+
-------
|
|
65
|
+
CircuitResult
|
|
66
|
+
The result of solving the circuit.
|
|
61
67
|
"""
|
|
62
68
|
raise NotImplementedError
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
from functools import partial
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import List, Tuple
|
|
4
4
|
|
|
5
5
|
import dimod
|
|
6
6
|
from dimod import ConstrainedQuadraticModel
|
|
7
|
-
from
|
|
7
|
+
from dimod.constrained.constrained import CQMToBQMInverter
|
|
8
|
+
from docplex.mp.model import Model as DOCplexModel
|
|
8
9
|
from qiskit_optimization import QuadraticProgram
|
|
9
10
|
|
|
10
|
-
from luna_sdk.interfaces import IRepository
|
|
11
|
-
from dimod.constrained.constrained import CQMToBQMInverter
|
|
11
|
+
from luna_sdk.interfaces import IRepository
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class ICplexRepo(IRepository, ABC):
|
|
@@ -19,7 +19,7 @@ class ICplexRepo(IRepository, ABC):
|
|
|
19
19
|
return inverter_bqm(var_sample)
|
|
20
20
|
|
|
21
21
|
@abstractmethod
|
|
22
|
-
def to_qubo_qiskit(self, docplex_model: DOCplexModel) -> QuadraticProgram:
|
|
22
|
+
def to_qubo_qiskit(self, docplex_model: DOCplexModel, **kwargs) -> QuadraticProgram:
|
|
23
23
|
"""
|
|
24
24
|
Transform DOCplex model to QUBO Qiskit
|
|
25
25
|
|
|
@@ -27,6 +27,8 @@ class ICplexRepo(IRepository, ABC):
|
|
|
27
27
|
----------
|
|
28
28
|
docplex_model: docplex.mp.model.Model
|
|
29
29
|
DOCplex problem description
|
|
30
|
+
**kwargs
|
|
31
|
+
Parameters to pass to `httpx.request`.
|
|
30
32
|
|
|
31
33
|
Returns
|
|
32
34
|
-------
|
|
@@ -36,7 +38,7 @@ class ICplexRepo(IRepository, ABC):
|
|
|
36
38
|
raise NotImplementedError
|
|
37
39
|
|
|
38
40
|
@abstractmethod
|
|
39
|
-
def to_lp_file(self, docplex_model: DOCplexModel, filepath: str) -> None:
|
|
41
|
+
def to_lp_file(self, docplex_model: DOCplexModel, filepath: str, **kwargs) -> None:
|
|
40
42
|
"""
|
|
41
43
|
Transform DOCplex to LP representation
|
|
42
44
|
|
|
@@ -46,11 +48,13 @@ class ICplexRepo(IRepository, ABC):
|
|
|
46
48
|
DOCplex problem description
|
|
47
49
|
filepath: str
|
|
48
50
|
.lp file path where result should be stored
|
|
51
|
+
**kwargs
|
|
52
|
+
Parameters to pass to `httpx.request`.
|
|
49
53
|
"""
|
|
50
54
|
raise NotImplementedError
|
|
51
55
|
|
|
52
56
|
@abstractmethod
|
|
53
|
-
def to_lp_string(self, docplex_model: DOCplexModel) -> str:
|
|
57
|
+
def to_lp_string(self, docplex_model: DOCplexModel, **kwargs) -> str:
|
|
54
58
|
"""
|
|
55
59
|
Transform DOCplex to LP representation
|
|
56
60
|
|
|
@@ -58,6 +62,9 @@ class ICplexRepo(IRepository, ABC):
|
|
|
58
62
|
----------
|
|
59
63
|
docplex_model: docplex.mp.model.Model
|
|
60
64
|
DOCplex problem description
|
|
65
|
+
**kwargs
|
|
66
|
+
Parameters to pass to `httpx.request`.
|
|
67
|
+
|
|
61
68
|
Returns
|
|
62
69
|
-------
|
|
63
70
|
str
|
|
@@ -67,7 +74,7 @@ class ICplexRepo(IRepository, ABC):
|
|
|
67
74
|
|
|
68
75
|
@abstractmethod
|
|
69
76
|
def to_qubo_matrix(
|
|
70
|
-
self, docplex_model: DOCplexModel
|
|
77
|
+
self, docplex_model: DOCplexModel, **kwargs
|
|
71
78
|
) -> Tuple[List[List[float]], partial]:
|
|
72
79
|
"""
|
|
73
80
|
Transform DOCplex model to QUBO matrix
|
|
@@ -76,6 +83,8 @@ class ICplexRepo(IRepository, ABC):
|
|
|
76
83
|
----------
|
|
77
84
|
docplex_model: docplex.mp.model.Model
|
|
78
85
|
DOCplex problem description
|
|
86
|
+
**kwargs
|
|
87
|
+
Parameters to pass to `httpx.request`.
|
|
79
88
|
|
|
80
89
|
Returns
|
|
81
90
|
-------
|
|
@@ -86,7 +95,7 @@ class ICplexRepo(IRepository, ABC):
|
|
|
86
95
|
|
|
87
96
|
@abstractmethod
|
|
88
97
|
def to_bqm(
|
|
89
|
-
self, docplex_model: DOCplexModel
|
|
98
|
+
self, docplex_model: DOCplexModel, **kwargs
|
|
90
99
|
) -> Tuple[dimod.BinaryQuadraticModel, CQMToBQMInverter]:
|
|
91
100
|
"""
|
|
92
101
|
Transform DOCplex model to BQM model
|
|
@@ -95,6 +104,8 @@ class ICplexRepo(IRepository, ABC):
|
|
|
95
104
|
----------
|
|
96
105
|
docplex_model: docplex.mp.model.Model
|
|
97
106
|
DOCplex problem description
|
|
107
|
+
**kwargs
|
|
108
|
+
Parameters to pass to `httpx.request`.
|
|
98
109
|
|
|
99
110
|
Returns
|
|
100
111
|
-------
|
|
@@ -104,7 +115,9 @@ class ICplexRepo(IRepository, ABC):
|
|
|
104
115
|
raise NotImplementedError
|
|
105
116
|
|
|
106
117
|
@abstractmethod
|
|
107
|
-
def to_cqm(
|
|
118
|
+
def to_cqm(
|
|
119
|
+
self, docplex_model: DOCplexModel, **kwargs
|
|
120
|
+
) -> ConstrainedQuadraticModel:
|
|
108
121
|
"""
|
|
109
122
|
Transform DOCplex model to CQM model
|
|
110
123
|
|
|
@@ -112,6 +125,8 @@ class ICplexRepo(IRepository, ABC):
|
|
|
112
125
|
----------
|
|
113
126
|
docplex_model: docplex.mp.model.Model
|
|
114
127
|
DOCplex problem description
|
|
128
|
+
**kwargs
|
|
129
|
+
Parameters to pass to `httpx.request`.
|
|
115
130
|
|
|
116
131
|
Returns
|
|
117
132
|
-------
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
-
from typing import Dict, List, Optional
|
|
2
|
+
from typing import Any, Dict, List, Optional
|
|
3
3
|
|
|
4
4
|
from luna_sdk.interfaces.repository_i import IRepository
|
|
5
5
|
from luna_sdk.schemas.solver_info import SolverInfo
|
|
@@ -8,7 +8,7 @@ from luna_sdk.schemas.solver_info import SolverInfo
|
|
|
8
8
|
class IInfoRepo(IRepository, ABC):
|
|
9
9
|
@abstractmethod
|
|
10
10
|
def solvers_available(
|
|
11
|
-
self, solver_name: Optional[str] = None
|
|
11
|
+
self, solver_name: Optional[str] = None, **kwargs
|
|
12
12
|
) -> Dict[str, Dict[str, SolverInfo]]:
|
|
13
13
|
"""
|
|
14
14
|
Get list of available solvers.
|
|
@@ -18,6 +18,8 @@ class IInfoRepo(IRepository, ABC):
|
|
|
18
18
|
solver_name: Optional[str]
|
|
19
19
|
Name of the solver that should be retrieved. If not specified, all solvers
|
|
20
20
|
will be returned.
|
|
21
|
+
**kwargs
|
|
22
|
+
Parameters to pass to `httpx.request`.
|
|
21
23
|
|
|
22
24
|
Returns
|
|
23
25
|
-------
|
|
@@ -28,10 +30,15 @@ class IInfoRepo(IRepository, ABC):
|
|
|
28
30
|
raise NotImplementedError
|
|
29
31
|
|
|
30
32
|
@abstractmethod
|
|
31
|
-
def providers_available(self) -> List[str]:
|
|
33
|
+
def providers_available(self, **kwargs) -> List[str]:
|
|
32
34
|
"""
|
|
33
35
|
Get list of available providers.
|
|
34
36
|
|
|
37
|
+
Parameters
|
|
38
|
+
----------
|
|
39
|
+
**kwargs
|
|
40
|
+
Parameters to pass to `httpx.request`.
|
|
41
|
+
|
|
35
42
|
Returns
|
|
36
43
|
-------
|
|
37
44
|
List[str]
|