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.

Files changed (58) hide show
  1. {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/METADATA +2 -1
  2. {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/RECORD +57 -53
  3. luna_sdk/controllers/custom_login_client.py +8 -3
  4. luna_sdk/controllers/luna_platform_client.py +9 -9
  5. luna_sdk/controllers/luna_q.py +7 -10
  6. luna_sdk/controllers/luna_solve.py +8 -15
  7. luna_sdk/controllers/luna_transform.py +9 -16
  8. luna_sdk/interfaces/circuit_repo_i.py +18 -12
  9. luna_sdk/interfaces/cplex_repo_i.py +25 -10
  10. luna_sdk/interfaces/info_repo_i.py +10 -3
  11. luna_sdk/interfaces/lp_repo_i.py +20 -8
  12. luna_sdk/interfaces/optimization_repo_i.py +31 -57
  13. luna_sdk/interfaces/qpu_token_repo_i.py +24 -28
  14. luna_sdk/interfaces/solutions_repo_i.py +44 -24
  15. luna_sdk/repositories/circuit_repo.py +11 -44
  16. luna_sdk/repositories/cplex_repo.py +32 -20
  17. luna_sdk/repositories/info_repo.py +4 -7
  18. luna_sdk/repositories/lp_repo.py +21 -15
  19. luna_sdk/repositories/optimization_repo.py +25 -200
  20. luna_sdk/repositories/qpu_token_repo.py +28 -120
  21. luna_sdk/repositories/solutions_repo.py +109 -181
  22. luna_sdk/schemas/create/solution.py +2 -2
  23. luna_sdk/schemas/optimization.py +9 -11
  24. luna_sdk/schemas/pretty_base.py +10 -3
  25. luna_sdk/schemas/qpu_token.py +3 -0
  26. luna_sdk/schemas/solution.py +7 -6
  27. luna_sdk/schemas/solver_info.py +31 -1
  28. luna_sdk/schemas/solver_parameters/aws/optimizer_params.py +40 -0
  29. luna_sdk/schemas/solver_parameters/aws/qaoa.py +36 -4
  30. luna_sdk/schemas/solver_parameters/base_parameter.py +5 -0
  31. luna_sdk/schemas/solver_parameters/dwave/base.py +15 -14
  32. luna_sdk/schemas/solver_parameters/dwave/dialectic_search.py +3 -2
  33. luna_sdk/schemas/solver_parameters/dwave/kerberos.py +2 -3
  34. luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_bqm.py +2 -2
  35. luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_cqm.py +2 -2
  36. luna_sdk/schemas/solver_parameters/dwave/parallel_tempering.py +2 -3
  37. luna_sdk/schemas/solver_parameters/dwave/parallel_tempering_qpu.py +2 -3
  38. luna_sdk/schemas/solver_parameters/dwave/population_annealing.py +2 -3
  39. luna_sdk/schemas/solver_parameters/dwave/population_annealing_qpu.py +2 -1
  40. luna_sdk/schemas/solver_parameters/dwave/qaga.py +4 -2
  41. luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_qpu.py +2 -3
  42. luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_simulated_annealing.py +2 -3
  43. luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_tabu_search.py +2 -3
  44. luna_sdk/schemas/solver_parameters/dwave/quantum_annealing.py +2 -3
  45. luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_quantum_annealing.py +4 -2
  46. luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_simulated_annealing.py +3 -2
  47. luna_sdk/schemas/solver_parameters/dwave/saga.py +1 -1
  48. luna_sdk/schemas/solver_parameters/dwave/tabu_search.py +3 -1
  49. luna_sdk/schemas/solver_parameters/fujitsu/base.py +5 -4
  50. luna_sdk/schemas/solver_parameters/fujitsu/partial_config.py +7 -5
  51. luna_sdk/schemas/solver_parameters/ibm/standard_parameters.py +121 -7
  52. luna_sdk/schemas/solver_parameters/qctrl/qaoa.py +2 -2
  53. luna_sdk/schemas/wrappers/__init__.py +1 -0
  54. luna_sdk/schemas/wrappers/datetime_wrapper.py +31 -0
  55. luna_sdk/utils/parameter_finder.py +90 -0
  56. luna_sdk/constants.py +0 -1
  57. {luna_quantum-0.0.16.dist-info → luna_quantum-0.0.29.dist-info}/LICENSE +0 -0
  58. {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.16
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=PT9daNoqsbID9G2SZ3dhgMuqDBnnjfmxCGEPlLDnAms,2063
5
- luna_sdk/controllers/luna_platform_client.py,sha256=CiGn8DIIdxQ9gCNWhk8KGGvXW1gEIwhwYtVYq0XdxzU,1671
6
- luna_sdk/controllers/luna_q.py,sha256=-6Wwx-tvRsAdDWZgkXG1fE-4vujXcnaDG4oYYTZ6eXo,1066
7
- luna_sdk/controllers/luna_solve.py,sha256=TLhR7y5yKwMB6fztobDfhQ_igDs29a4EAT546oPA2u0,1660
8
- luna_sdk/controllers/luna_transform.py,sha256=n7frEqa-Fcgo2R1SD8BmfjqLmImDmIWo4BS1vDg5m7s,1161
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=0NdPrOUSP2DStlOe4HsOjlDmD2HYseE68W-1PgmAwic,2109
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=vpO5ON8GIpqCihYiNP5mbq3A0wjqdbJJBU0-l7yLg0Y,3335
25
- luna_sdk/interfaces/info_repo_i.py,sha256=ah6zBj66z-i0vxZcdUShQxMz_nTMw8xX5j-wiXsIxz8,1145
26
- luna_sdk/interfaces/lp_repo_i.py,sha256=1EC1f8P8dLY0wlSqjt0Vp1_2RERIhikvalzqqfhq2lc,2669
27
- luna_sdk/interfaces/optimization_repo_i.py,sha256=qhraGjs6gg5PsZmzDCP4GD-M-R5wwlZthMO0ppAnpjc,6977
28
- luna_sdk/interfaces/qpu_token_repo_i.py,sha256=vgT-N-JfcDJ2YqmlbamYGE_wm8SyYSGmQcfrCael-Wc,4486
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=f1VksIBcmRvk_fYZdUk9fH54VbiTvVcVbcDh91n_0Io,6907
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=sm9GxNScLDNkb7lK6cwDjEfsPjNfLtnsbktN_vcwGIs,3768
34
- luna_sdk/repositories/cplex_repo.py,sha256=Bzz7T-jm_NMywHljabrXaNNV95Fekc_iX-g4_FUVVDI,4804
35
- luna_sdk/repositories/info_repo.py,sha256=x6ofT6GHdGN5SZu2LroILOpeHf0axOcRpeW-ax9f3mo,1266
36
- luna_sdk/repositories/lp_repo.py,sha256=bQapY09wXNsEmdrYDDabRxwQlbNei03otXUG3UzYDRs,4194
37
- luna_sdk/repositories/optimization_repo.py,sha256=ARmgc32V70qwiJELXs38bGadAJHv4wt9UMmXbdOR7MU,10463
38
- luna_sdk/repositories/qpu_token_repo.py,sha256=7dWt1NvEcMmCVDlX304H1kzkNi97uriJaXN7UUjHj64,7270
39
- luna_sdk/repositories/solutions_repo.py,sha256=ZKIafOjBIoQIg6EdNNis9FYO5PhkNC0urp9XB6t0IdQ,11423
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=Dy3CLfW2ANYGV-ABvAI0kPDejYnhI0NZSgWX6oX7Lx4,395
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=D33gwLReCjMTKCs8b28LESb0bSkEvBioQtgHch7G22k,1932
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=wYF-jgUpHIfVk00ndBs8qbUVxPJdpL52NC6Pq8krDyc,1603
64
- luna_sdk/schemas/qpu_token.py,sha256=K8P634yQ7ClAhQtNS6BfNU-TN8q1XeGcWXiWh4eQ-Gw,1474
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=Bu1pcbIaaJhtU_r3EPOZUOWyWBZ9550c4RZR8wJULo8,6823
70
- luna_sdk/schemas/solver_info.py,sha256=vMxkJTo87pa12sY3RfQjjAG8XOUOOkYbgZ8i42rwOKY,198
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/qaoa.py,sha256=XQG-incxFKngI3XvC1okG2WIxIpCMW_7enx42ECraNo,1000
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=CFZTqLHKtuIyzr3GxYSlO_IK_EvO2-SOFxIH4MJ1oXE,17168
75
- luna_sdk/schemas/solver_parameters/dwave/dialectic_search.py,sha256=mu1ehA1ffCr56tdGdnh35lusGMgL6TK0vTsSMGvPmsE,1136
76
- luna_sdk/schemas/solver_parameters/dwave/kerberos.py,sha256=mpVgvanbSuZlauQOp4xP9ZoZyz-PHfxLE5aAU-aYwWk,2626
77
- luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_bqm.py,sha256=IFuJAHVPmBXtwg95H3RRxxPKr9jzT8meN98e-0nB1xc,588
78
- luna_sdk/schemas/solver_parameters/dwave/leap_hybrid_cqm.py,sha256=7IsLRbP5qhk7SsNtITvDLWS8hd-652RIt-s13qpXfwY,678
79
- luna_sdk/schemas/solver_parameters/dwave/parallel_tempering.py,sha256=jIBF59z82nanqLcVuXXrCklyvc582q66KK7MXgEl9S0,1075
80
- luna_sdk/schemas/solver_parameters/dwave/parallel_tempering_qpu.py,sha256=R36Q1kllta7tE_s6w93kctSUurTBjU3MaDJrlGigOac,1149
81
- luna_sdk/schemas/solver_parameters/dwave/population_annealing.py,sha256=o6je_oeDtdomJrlR-VWTXamJD73sB30PCcDi1IoXE1M,996
82
- luna_sdk/schemas/solver_parameters/dwave/population_annealing_qpu.py,sha256=monnhw2ieWLbmwcNTa77epEJ1M0Vbb4g3vkehBBGzuQ,1258
83
- luna_sdk/schemas/solver_parameters/dwave/qaga.py,sha256=9n9FYZFbdsnIddQ8Fk525mpBuFWMvvf7870TuDDQREw,2429
84
- luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_qpu.py,sha256=jA391aDiMoW-T6GBHp9WwGTodpZnJcopceUB51Q_Pws,506
85
- luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_simulated_annealing.py,sha256=5Nba2XKIqQJtO7cft51tla-HYXg_MjTicIM9G4BZHO8,928
86
- luna_sdk/schemas/solver_parameters/dwave/qbsolv_like_tabu_search.py,sha256=5qRDHe8ODalv65CyB_P5SDyFpZPgDcrm-EpnfYd7cHw,792
87
- luna_sdk/schemas/solver_parameters/dwave/quantum_annealing.py,sha256=uzQMb-jPDfvSYX9WGGiLqtehMtIiqt31WALk5iFZzf8,583
88
- luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_quantum_annealing.py,sha256=0SwHroc4l5sMZxuWJCcEFqzkJAhmBoAW9pl4ZllvOAg,3686
89
- luna_sdk/schemas/solver_parameters/dwave/repeated_reverse_simulated_annealing.py,sha256=W3zu7g67yrDbSOeO3TLvdlvgI8mYobGeHBso8FR0IIY,4500
90
- luna_sdk/schemas/solver_parameters/dwave/saga.py,sha256=sXrWRsl7K8Xn_Ne1H5Mb9MwdLMr27HGuP4X8YpqkHR4,3123
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=bNMPgjhfBurc4pwp25orPdXaJPG63GEcjUJzTPkEsdY,3898
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=fqYHgl2JqpKnmMRlCMMaywWo6P1aTVbUsYQ-BpMQbb4,1736
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=1QI370Pa91JM_2c_CeYtpMkV3vG5dGq-zQv8BtLwSUo,8084
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=6p1bP38bCq4IZjKEg24Jqriss6uDZuwmvMblwgAH-3Q,820
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=QcpTXd3rMmICLuE4l_38X_VA9wL3xc_6Lrh30wExfyA,1901
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.16.dist-info/LICENSE,sha256=rwwuFPLz36oRvjWu2oEeX42Qtn9gmbh7zRC2OqCFNaI,11342
158
- luna_quantum-0.0.16.dist-info/METADATA,sha256=b-7jJ29ly5fCJf4gUJWPJON8VgwMyGzYpKHS9JIOgIw,2263
159
- luna_quantum-0.0.16.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
160
- luna_quantum-0.0.16.dist-info/RECORD,,
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
- _user_agent: str = f"LunaSDK/{LUNA_SDK_VERSION}"
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 as e:
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 = 10.0,
20
+ timeout: Optional[float] = 240.0,
20
21
  ):
21
22
  """
22
- ClientCtrl is a main entrypoint of the SDK.
23
+ LunaPlatformClient is a main entrypoint of the SDK.
23
24
  All the operations with entities should be processed using an instance of
24
- ClientCtrl.
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
- Timeout for the requests.
39
- Default value 10.
40
-
41
- Returns
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
 
@@ -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
- Timeout for the requests. Default value 10.
29
-
30
- Returns
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
- Timeout for the requests. Default value 10.
36
-
37
- Returns
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
- LunaSolve is the main entrypoint for all LunaSolve related tasks.
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
- Timeout for the requests. Default value 10.
30
-
31
- Returns
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, job: CircuitJob, encryption_key: Optional[str] = None
48
+ self,
49
+ job: CircuitJob,
50
+ encryption_key: Optional[str] = None,
51
+ **kwargs,
50
52
  ) -> CircuitResult:
51
53
  """
52
- Attributes:
53
- choices: A list containing a string or `AliasPath`.
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
- This is equivalent to Python ``sum`` of :meth:`time.time`.
58
- :time.time: 1.0
59
- `CircuitResult`
60
- Some sections are omitted here for simplicity.
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 Tuple, List
3
+ from typing import List, Tuple
4
4
 
5
5
  import dimod
6
6
  from dimod import ConstrainedQuadraticModel
7
- from docplex.mp.model import Model as DOCplexModel # type: ignore
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 # type: ignore
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(self, docplex_model: DOCplexModel) -> ConstrainedQuadraticModel:
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]