desdeo 2.0.0__tar.gz → 2.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. {desdeo-2.0.0 → desdeo-2.1.0}/PKG-INFO +46 -28
  2. {desdeo-2.0.0 → desdeo-2.1.0}/README.md +12 -6
  3. desdeo-2.1.0/desdeo/adm/ADMAfsar.py +551 -0
  4. desdeo-2.1.0/desdeo/adm/ADMChen.py +414 -0
  5. desdeo-2.1.0/desdeo/adm/BaseADM.py +119 -0
  6. desdeo-2.1.0/desdeo/adm/__init__.py +11 -0
  7. desdeo-2.1.0/desdeo/api/__init__.py +15 -0
  8. desdeo-2.1.0/desdeo/api/app.py +50 -0
  9. desdeo-2.1.0/desdeo/api/config.py +90 -0
  10. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/config.toml +23 -12
  11. desdeo-2.1.0/desdeo/api/db.py +27 -0
  12. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/db_init.py +12 -6
  13. desdeo-2.1.0/desdeo/api/models/__init__.py +266 -0
  14. desdeo-2.1.0/desdeo/api/models/archive.py +23 -0
  15. desdeo-2.1.0/desdeo/api/models/emo.py +128 -0
  16. desdeo-2.1.0/desdeo/api/models/enautilus.py +69 -0
  17. desdeo-2.1.0/desdeo/api/models/gdm/gdm_aggregate.py +139 -0
  18. desdeo-2.1.0/desdeo/api/models/gdm/gdm_base.py +69 -0
  19. desdeo-2.1.0/desdeo/api/models/gdm/gdm_score_bands.py +114 -0
  20. desdeo-2.1.0/desdeo/api/models/gdm/gnimbus.py +138 -0
  21. desdeo-2.1.0/desdeo/api/models/generic.py +104 -0
  22. desdeo-2.1.0/desdeo/api/models/generic_states.py +401 -0
  23. desdeo-2.1.0/desdeo/api/models/nimbus.py +158 -0
  24. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/models/preference.py +44 -6
  25. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/models/problem.py +274 -64
  26. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/models/session.py +4 -1
  27. desdeo-2.1.0/desdeo/api/models/state.py +463 -0
  28. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/models/user.py +7 -6
  29. desdeo-2.1.0/desdeo/api/models/utopia.py +25 -0
  30. desdeo-2.1.0/desdeo/api/routers/_EMO.backup +309 -0
  31. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/routers/_NIMBUS.py +6 -3
  32. desdeo-2.1.0/desdeo/api/routers/emo.py +497 -0
  33. desdeo-2.1.0/desdeo/api/routers/enautilus.py +237 -0
  34. desdeo-2.1.0/desdeo/api/routers/gdm/gdm_aggregate.py +234 -0
  35. desdeo-2.1.0/desdeo/api/routers/gdm/gdm_base.py +420 -0
  36. desdeo-2.1.0/desdeo/api/routers/gdm/gdm_score_bands/gdm_score_bands_manager.py +398 -0
  37. desdeo-2.1.0/desdeo/api/routers/gdm/gdm_score_bands/gdm_score_bands_routers.py +377 -0
  38. desdeo-2.1.0/desdeo/api/routers/gdm/gnimbus/gnimbus_manager.py +698 -0
  39. desdeo-2.1.0/desdeo/api/routers/gdm/gnimbus/gnimbus_routers.py +591 -0
  40. desdeo-2.1.0/desdeo/api/routers/generic.py +233 -0
  41. desdeo-2.1.0/desdeo/api/routers/nimbus.py +705 -0
  42. desdeo-2.1.0/desdeo/api/routers/problem.py +307 -0
  43. desdeo-2.1.0/desdeo/api/routers/reference_point_method.py +93 -0
  44. desdeo-2.1.0/desdeo/api/routers/session.py +100 -0
  45. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/routers/user_authentication.py +180 -26
  46. desdeo-2.1.0/desdeo/api/routers/utils.py +187 -0
  47. desdeo-2.1.0/desdeo/api/routers/utopia.py +230 -0
  48. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/schema.py +10 -4
  49. desdeo-2.1.0/desdeo/api/tests/conftest.py +151 -0
  50. desdeo-2.1.0/desdeo/api/tests/test_enautilus.py +330 -0
  51. desdeo-2.1.0/desdeo/api/tests/test_models.py +1179 -0
  52. desdeo-2.1.0/desdeo/api/tests/test_routes.py +1075 -0
  53. desdeo-2.0.0/desdeo/api/utils/database.py → desdeo-2.1.0/desdeo/api/utils/_database.py +2 -13
  54. desdeo-2.1.0/desdeo/api/utils/database.py +36 -0
  55. desdeo-2.1.0/desdeo/api/utils/emo_database.py +40 -0
  56. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/core.py +7 -0
  57. desdeo-2.1.0/desdeo/emo/__init__.py +159 -0
  58. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/hooks/archivers.py +18 -2
  59. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/methods/EAs.py +128 -5
  60. desdeo-2.1.0/desdeo/emo/methods/bases.py +12 -0
  61. desdeo-2.1.0/desdeo/emo/methods/templates.py +111 -0
  62. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/operators/crossover.py +544 -42
  63. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/operators/evaluator.py +10 -14
  64. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/operators/generator.py +127 -24
  65. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/operators/mutation.py +212 -41
  66. desdeo-2.1.0/desdeo/emo/operators/scalar_selection.py +202 -0
  67. desdeo-2.1.0/desdeo/emo/operators/selection.py +1778 -0
  68. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/operators/termination.py +124 -16
  69. desdeo-2.1.0/desdeo/emo/options/__init__.py +108 -0
  70. desdeo-2.1.0/desdeo/emo/options/algorithms.py +435 -0
  71. desdeo-2.1.0/desdeo/emo/options/crossover.py +164 -0
  72. desdeo-2.1.0/desdeo/emo/options/generator.py +131 -0
  73. desdeo-2.1.0/desdeo/emo/options/mutation.py +260 -0
  74. desdeo-2.1.0/desdeo/emo/options/repair.py +61 -0
  75. desdeo-2.1.0/desdeo/emo/options/scalar_selection.py +66 -0
  76. desdeo-2.1.0/desdeo/emo/options/selection.py +127 -0
  77. desdeo-2.1.0/desdeo/emo/options/templates.py +383 -0
  78. desdeo-2.1.0/desdeo/emo/options/termination.py +143 -0
  79. desdeo-2.1.0/desdeo/gdm/__init__.py +22 -0
  80. desdeo-2.1.0/desdeo/gdm/gdmtools.py +45 -0
  81. desdeo-2.1.0/desdeo/gdm/score_bands.py +114 -0
  82. desdeo-2.1.0/desdeo/gdm/voting_rules.py +50 -0
  83. desdeo-2.1.0/desdeo/mcdm/__init__.py +41 -0
  84. desdeo-2.1.0/desdeo/mcdm/enautilus.py +338 -0
  85. desdeo-2.1.0/desdeo/mcdm/gnimbus.py +484 -0
  86. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/mcdm/nautilus_navigator.py +7 -6
  87. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/mcdm/reference_point_method.py +70 -0
  88. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/__init__.py +5 -1
  89. desdeo-2.1.0/desdeo/problem/external/__init__.py +18 -0
  90. desdeo-2.1.0/desdeo/problem/external/core.py +356 -0
  91. desdeo-2.1.0/desdeo/problem/external/pymoo_provider.py +266 -0
  92. desdeo-2.1.0/desdeo/problem/external/runtime.py +44 -0
  93. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/infix_parser.py +2 -2
  94. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/pyomo_evaluator.py +25 -6
  95. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/schema.py +69 -48
  96. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/simulator_evaluator.py +65 -15
  97. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/__init__.py +26 -11
  98. desdeo-2.1.0/desdeo/problem/testproblems/benchmarks_server.py +120 -0
  99. desdeo-2.1.0/desdeo/problem/testproblems/cake_problem.py +185 -0
  100. desdeo-2.1.0/desdeo/problem/testproblems/dmitry_forest_problem_discrete.py +71 -0
  101. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/forest_problem.py +77 -69
  102. desdeo-2.1.0/desdeo/problem/testproblems/multi_valued_constraints.py +119 -0
  103. desdeo-2.0.0/desdeo/problem/testproblems/river_pollution_problem.py → desdeo-2.1.0/desdeo/problem/testproblems/river_pollution_problems.py +28 -22
  104. desdeo-2.1.0/desdeo/problem/testproblems/single_objective.py +289 -0
  105. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/zdt_problem.py +4 -1
  106. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/__init__.py +39 -21
  107. desdeo-2.1.0/desdeo/tools/desc_gen.py +22 -0
  108. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/generics.py +22 -2
  109. desdeo-2.1.0/desdeo/tools/group_scalarization.py +3090 -0
  110. desdeo-2.1.0/desdeo/tools/indicators_binary.py +117 -0
  111. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/indicators_unary.py +3 -16
  112. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/message.py +33 -2
  113. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/non_dominated_sorting.py +4 -3
  114. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/patterns.py +9 -7
  115. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/pyomo_solver_interfaces.py +48 -35
  116. desdeo-2.1.0/desdeo/tools/reference_vectors.py +229 -0
  117. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/scalarization.py +340 -1413
  118. desdeo-2.1.0/desdeo/tools/score_bands.py +627 -0
  119. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/utils.py +117 -49
  120. desdeo-2.1.0/desdeo/tools/visualizations.py +67 -0
  121. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/utopia_problem.py +1 -1
  122. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/utopia_problem_old.py +1 -1
  123. {desdeo-2.0.0 → desdeo-2.1.0}/pyproject.toml +134 -66
  124. desdeo-2.0.0/desdeo/api/__init__.py +0 -15
  125. desdeo-2.0.0/desdeo/api/app.py +0 -40
  126. desdeo-2.0.0/desdeo/api/config.py +0 -69
  127. desdeo-2.0.0/desdeo/api/db.py +0 -25
  128. desdeo-2.0.0/desdeo/api/models/__init__.py +0 -66
  129. desdeo-2.0.0/desdeo/api/models/archive.py +0 -34
  130. desdeo-2.0.0/desdeo/api/models/state.py +0 -96
  131. desdeo-2.0.0/desdeo/api/routers/problem.py +0 -110
  132. desdeo-2.0.0/desdeo/api/routers/reference_point_method.py +0 -117
  133. desdeo-2.0.0/desdeo/api/routers/session.py +0 -76
  134. desdeo-2.0.0/desdeo/api/tests/conftest.py +0 -59
  135. desdeo-2.0.0/desdeo/api/tests/test_models.py +0 -701
  136. desdeo-2.0.0/desdeo/api/tests/test_routes.py +0 -216
  137. desdeo-2.0.0/desdeo/emo/__init__.py +0 -29
  138. desdeo-2.0.0/desdeo/emo/methods/bases.py +0 -59
  139. desdeo-2.0.0/desdeo/emo/operators/selection.py +0 -1036
  140. desdeo-2.0.0/desdeo/mcdm/__init__.py +0 -19
  141. desdeo-2.0.0/desdeo/tools/indicators_binary.py +0 -11
  142. desdeo-2.0.0/desdeo/tools/reference_vectors.py +0 -462
  143. desdeo-2.0.0/desdeo/tools/score_bands.py +0 -464
  144. {desdeo-2.0.0 → desdeo-2.1.0}/LICENSE +0 -0
  145. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/__init__.py +0 -0
  146. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/README.md +0 -0
  147. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/db_models.py +0 -0
  148. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/malaga_db_init.py +0 -0
  149. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/models/reference_point_method.py +0 -0
  150. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/routers/_NAUTILUS.py +0 -0
  151. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/routers/_NAUTILUS_navigator.py +0 -0
  152. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/routers/__init__.py +0 -0
  153. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/routers/test.py +0 -0
  154. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/api/tests/__init__.py +0 -0
  155. /desdeo-2.0.0/desdeo/api/utils/logger.py → /desdeo-2.1.0/desdeo/api/utils/_logger.py +0 -0
  156. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/methods/__init__.py +0 -0
  157. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/emo/operators/__init__.py +0 -0
  158. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/explanations/__init__.py +0 -0
  159. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/explanations/explainer.py +0 -0
  160. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/explanations/utils.py +0 -0
  161. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/mcdm/nautili.py +0 -0
  162. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/mcdm/nautilus.py +0 -0
  163. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/mcdm/nimbus.py +0 -0
  164. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/mcdm/pareto_navigator.py +0 -0
  165. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/evaluator.py +0 -0
  166. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/gurobipy_evaluator.py +0 -0
  167. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/json_parser.py +0 -0
  168. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/sympy_evaluator.py +0 -0
  169. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/binh_and_korn_problem.py +0 -0
  170. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/dtlz2_problem.py +0 -0
  171. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/knapsack_problem.py +0 -0
  172. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/mcwb_problem.py +0 -0
  173. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/mixed_variable_dimenrions_problem.py +0 -0
  174. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/momip_problem.py +0 -0
  175. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/nimbus_problem.py +0 -0
  176. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/pareto_navigator_problem.py +0 -0
  177. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/re_problem.py +0 -0
  178. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/rocket_injector_design_problem.py +0 -0
  179. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/simple_problem.py +0 -0
  180. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/simulator_problem.py +0 -0
  181. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/testproblems/spanish_sustainability_problem.py +0 -0
  182. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/problem/utils.py +0 -0
  183. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/GenerateReferencePoints.py +0 -0
  184. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/gurobipy_solver_interfaces.py +0 -0
  185. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/interaction_schema.py +0 -0
  186. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/intersection.py +0 -0
  187. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/iterative_pareto_representer.py +0 -0
  188. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/ng_solver_interfaces.py +0 -0
  189. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/proximal_solver.py +0 -0
  190. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/tools/scipy_solver_interfaces.py +0 -0
  191. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/__init__.py +0 -0
  192. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/data/1.json +0 -0
  193. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/data/2.json +0 -0
  194. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/data/3.json +0 -0
  195. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/data/4.json +0 -0
  196. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/data/5.json +0 -0
  197. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/from_json.py +0 -0
  198. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/reinit_user.py +0 -0
  199. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/utopia_db_init.py +0 -0
  200. {desdeo-2.0.0 → desdeo-2.1.0}/desdeo/utopia_stuff/utopia_reference_solutions.py +0 -0
@@ -1,38 +1,48 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: desdeo
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: DESDEO is a modular and open source framework for interactive multiobjective optimization.
5
- License: MIT
5
+ License-Expression: MIT
6
+ License-File: LICENSE
7
+ Keywords: optimization,decision-support,multiobjective optimization,evolutionary optimization,interactive methods
6
8
  Author: Giovanni Misitano
7
9
  Author-email: giovanni.a.misitano@jyu.fi
8
- Requires-Python: >=3.12,<3.13
9
- Classifier: License :: OSI Approved :: MIT License
10
+ Requires-Python: >=3.12,<3.14
10
11
  Classifier: Programming Language :: Python :: 3
11
12
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: bayesian-optimization (>=1.0,<2.0)
13
- Requires-Dist: cvxpy[scip] (>=1.6.4,<2.0.0)
14
- Requires-Dist: greenlet (>=3.1.1,<4.0.0)
15
- Requires-Dist: gurobipy (>=12.0.0,<13.0.0)
16
- Requires-Dist: nevergrad (>=1.0.12,<2.0.0)
17
- Requires-Dist: numba (>=0.61.0,<0.62.0)
18
- Requires-Dist: numpy (>=2.2.0,<3.0.0)
19
- Requires-Dist: polars (>=1.17,<2.0)
20
- Requires-Dist: pyarrow (>=20.0.0,<21.0.0)
21
- Requires-Dist: pydantic (>=2.9,<3.0)
22
- Requires-Dist: pymoo (>=0.6.1.2,<0.7.0.0)
23
- Requires-Dist: pyomo (>=6.8,<7.0)
24
- Requires-Dist: pyparsing (>=3.0,<4.0)
25
- Requires-Dist: scipy (>=1.11.4,<2.0.0)
26
- Requires-Dist: shap (>=0.47.0,<0.48.0)
27
- Requires-Dist: sympy (>=1.0,<2.0)
28
- Requires-Dist: tsp-solver (>=0.1,<0.2)
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Dist: bayesian-optimization (>=1.0)
15
+ Requires-Dist: coco-experiment (>=2.8.2)
16
+ Requires-Dist: cvxpy[scip] (>=1.6.4)
17
+ Requires-Dist: greenlet (>=3.1.1)
18
+ Requires-Dist: gurobipy (>=12.0.0)
19
+ Requires-Dist: moocore (>=0.1.7)
20
+ Requires-Dist: nevergrad (>=1.0.12)
21
+ Requires-Dist: numba (>=0.61.0)
22
+ Requires-Dist: numpy (>=2.2.0)
23
+ Requires-Dist: plotly (>=6.0)
24
+ Requires-Dist: polars (==1.30)
25
+ Requires-Dist: pyarrow (>=20.0.0)
26
+ Requires-Dist: pydantic (>=2.9)
27
+ Requires-Dist: pydantic-settings (>=2.9)
28
+ Requires-Dist: pymoo (>=0.6.1.2)
29
+ Requires-Dist: pyomo (>=6.8)
30
+ Requires-Dist: pyparsing (>=3.0)
31
+ Requires-Dist: requests (>=2.32.0)
32
+ Requires-Dist: scipy (>=1.11.4)
33
+ Requires-Dist: shap (>=0.47.0)
34
+ Requires-Dist: sympy (>=1.0)
35
+ Requires-Dist: tsp-solver (>=0.1)
36
+ Requires-Dist: websockets (>=15.0.1)
37
+ Project-URL: Bug tracker, https://github.com/industrial-optimization-group/DESDEO/issues
38
+ Project-URL: Documentation, https://desdeo.readthedocs.io/en/latest/
39
+ Project-URL: Homepage, https://github.com/industrial-optimization-group/DESDEO
40
+ Project-URL: Repository, https://github.com/industrial-optimization-group/DESDEO
29
41
  Description-Content-Type: text/markdown
30
42
 
31
43
  # DESDEO: the open-source software framework for interactive multiobjective optimization
32
44
 
33
- [![Documentation Status](https://img.shields.io/readthedocs/desdeo.svg?version=desdeo2&label=Documentation)](https://desdeo.readthedocs.io/en/latest/) ![Tests](https://img.shields.io/github/actions/workflow/status/industrial-optimization-group/DESDEO/unit_tests.yaml?branch=desdeo2&label=Tests)
34
-
35
- [![Discord server](https://dcbadge.vercel.app/api/server/TgSnUmzv5M)](https://discord.gg/TgSnUmzv5M)
45
+ [![Discord](https://img.shields.io/discord/1382614276409266206?style=flat&label=Join%20our%20Discord&labelColor=%237289da)](https://discord.gg/uGCEgQTJyY) [![Documentation Status](https://img.shields.io/readthedocs/desdeo.svg?version=desdeo2&label=Documentation)](https://desdeo.readthedocs.io/en/latest/) ![Tests](https://img.shields.io/github/actions/workflow/status/industrial-optimization-group/DESDEO/unit_tests.yaml?branch=desdeo2&label=Tests)
36
46
 
37
47
  ## Introduction
38
48
 
@@ -108,19 +118,27 @@ currently the case with the web-API.
108
118
 
109
119
  ## Installation instructions
110
120
 
111
- For installing DESDEO, please see the documentation (TODO) for instructions.
121
+ DESDEO is available on PyPI to be installed via pip:
122
+
123
+ ```bash
124
+ pip install desdeo
125
+ ```
126
+
127
+ However, some of DESDEO's features rely on 3rd party optimizers, which should be available on your system.
128
+ To read more on these, and on instructions on how to install the latest version of DESDEO directly from Github,
129
+ [check out the documentation](https://desdeo.readthedocs.io/en/latest/howtoguides/installing/).
112
130
 
113
131
  ## Documentation
114
132
 
115
133
  Care has been taken to make sure DESDEO is well documented, making it accessible
116
134
  to both newcomers and seasoned users alike. [The documentation of DESDEO is
117
- available online.](https://desdeo.readthedocs.io/en/desdeo2/)
135
+ available online.](https://desdeo.readthedocs.io/en/latest/)
118
136
 
119
137
  ## Contributing
120
138
 
121
139
  As DESDEO is an open source-project, anybody is welcome to contribute.
122
140
  An extensive tutorial to get started contributing to DESDEO
123
- [is available in the documentation](https://desdeo.readthedocs.io/en/desdeo2/tutorials/contributing/).
141
+ [is available in the documentation](https://desdeo.readthedocs.io/en/latest/tutorials/contributing/).
124
142
  Be sure to check it out!
125
143
 
126
144
  For additional support for contributing to DESDEO,
@@ -1,8 +1,6 @@
1
1
  # DESDEO: the open-source software framework for interactive multiobjective optimization
2
2
 
3
- [![Documentation Status](https://img.shields.io/readthedocs/desdeo.svg?version=desdeo2&label=Documentation)](https://desdeo.readthedocs.io/en/latest/) ![Tests](https://img.shields.io/github/actions/workflow/status/industrial-optimization-group/DESDEO/unit_tests.yaml?branch=desdeo2&label=Tests)
4
-
5
- [![Discord server](https://dcbadge.vercel.app/api/server/TgSnUmzv5M)](https://discord.gg/TgSnUmzv5M)
3
+ [![Discord](https://img.shields.io/discord/1382614276409266206?style=flat&label=Join%20our%20Discord&labelColor=%237289da)](https://discord.gg/uGCEgQTJyY) [![Documentation Status](https://img.shields.io/readthedocs/desdeo.svg?version=desdeo2&label=Documentation)](https://desdeo.readthedocs.io/en/latest/) ![Tests](https://img.shields.io/github/actions/workflow/status/industrial-optimization-group/DESDEO/unit_tests.yaml?branch=desdeo2&label=Tests)
6
4
 
7
5
  ## Introduction
8
6
 
@@ -78,19 +76,27 @@ currently the case with the web-API.
78
76
 
79
77
  ## Installation instructions
80
78
 
81
- For installing DESDEO, please see the documentation (TODO) for instructions.
79
+ DESDEO is available on PyPI to be installed via pip:
80
+
81
+ ```bash
82
+ pip install desdeo
83
+ ```
84
+
85
+ However, some of DESDEO's features rely on 3rd party optimizers, which should be available on your system.
86
+ To read more on these, and on instructions on how to install the latest version of DESDEO directly from Github,
87
+ [check out the documentation](https://desdeo.readthedocs.io/en/latest/howtoguides/installing/).
82
88
 
83
89
  ## Documentation
84
90
 
85
91
  Care has been taken to make sure DESDEO is well documented, making it accessible
86
92
  to both newcomers and seasoned users alike. [The documentation of DESDEO is
87
- available online.](https://desdeo.readthedocs.io/en/desdeo2/)
93
+ available online.](https://desdeo.readthedocs.io/en/latest/)
88
94
 
89
95
  ## Contributing
90
96
 
91
97
  As DESDEO is an open source-project, anybody is welcome to contribute.
92
98
  An extensive tutorial to get started contributing to DESDEO
93
- [is available in the documentation](https://desdeo.readthedocs.io/en/desdeo2/tutorials/contributing/).
99
+ [is available in the documentation](https://desdeo.readthedocs.io/en/latest/tutorials/contributing/).
94
100
  Be sure to check it out!
95
101
 
96
102
  For additional support for contributing to DESDEO,