aait 2.0.2.2__tar.gz → 2.0.2.4__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 (254) hide show
  1. {aait-2.0.2.2 → aait-2.0.2.4}/PKG-INFO +1 -1
  2. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/PKG-INFO +1 -1
  3. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/SOURCES.txt +10 -8
  4. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/requires.txt +1 -0
  5. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/MetManagement.py +2 -2
  6. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/mac_utils.py +8 -0
  7. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/windows_utils.py +1 -1
  8. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWExtractTokens.py +1 -1
  9. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +1 -1
  10. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLMStudio.py +1 -1
  11. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +1 -0
  12. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +1 -0
  13. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +1 -0
  14. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +1 -0
  15. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +1 -0
  16. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +1 -0
  17. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +1 -0
  18. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +1 -0
  19. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +1 -0
  20. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +1 -0
  21. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +1 -0
  22. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +1 -0
  23. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_Solar.py +1 -0
  24. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +30 -26
  25. {aait-2.0.2.2 → aait-2.0.2.4}/setup.py +3 -2
  26. aait-2.0.2.4/tests/test_class_values_context_handler.py +75 -0
  27. aait-2.0.2.4/tests/test_credentials.py +76 -0
  28. aait-2.0.2.4/tests/test_domain_context_handler.py +401 -0
  29. aait-2.0.2.4/tests/test_gui.py +140 -0
  30. aait-2.0.2.4/tests/test_matplotlib_export.py +43 -0
  31. aait-2.0.2.4/tests/test_perfect_domain_context_handler.py +148 -0
  32. aait-2.0.2.4/tests/test_scatterplot_density.py +59 -0
  33. aait-2.0.2.4/tests/test_settings_handler.py +27 -0
  34. aait-2.0.2.4/tests/test_widgets_outputs.py +29 -0
  35. aait-2.0.2.4/tests/test_workflows.py +80 -0
  36. aait-2.0.2.2/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +0 -125
  37. aait-2.0.2.2/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -144
  38. aait-2.0.2.2/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -89
  39. aait-2.0.2.2/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +0 -42
  40. aait-2.0.2.2/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +0 -32
  41. aait-2.0.2.2/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +0 -22
  42. aait-2.0.2.2/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  43. aait-2.0.2.2/orangecontrib/AAIT/widgets/icons/zip.svg +0 -26
  44. {aait-2.0.2.2 → aait-2.0.2.4}/License.txt +0 -0
  45. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/dependency_links.txt +0 -0
  46. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/entry_points.txt +0 -0
  47. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/namespace_packages.txt +0 -0
  48. {aait-2.0.2.2 → aait-2.0.2.4}/aait.egg-info/top_level.txt +0 -0
  49. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/__init__.py +0 -0
  50. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/SignalReceiver.py +0 -0
  51. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/__init__.py +0 -0
  52. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/audit_widget.py +0 -0
  53. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (2).TIF +0 -0
  54. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (3).TIF +0 -0
  55. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (4).TIF +0 -0
  56. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0001.csv +0 -0
  57. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0002.csv +0 -0
  58. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0003.csv +0 -0
  59. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/dynamic_results.py +0 -0
  60. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/test_all_widgets.py +0 -0
  61. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/test_server.py +0 -0
  62. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_4all.py +0 -0
  63. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_chunking.py +0 -0
  64. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_edit_table.py +0 -0
  65. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_mpnet_create_embeddings.py +0 -0
  66. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_optimisation.py +0 -0
  67. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_optimisationselection.py +0 -0
  68. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_powfactory.py +0 -0
  69. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_queryllm.py +0 -0
  70. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_spacy_md_fr_lemmatizer.py +0 -0
  71. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widget_traduction.py +0 -0
  72. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/audit_widget/widgets_model.py +0 -0
  73. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/encapsulation/__init__.py +0 -0
  74. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
  75. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  76. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/GPT4ALL.py +0 -0
  77. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/GPT4ALL_killer.py +0 -0
  78. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/MergeBaseLora.py +0 -0
  79. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/SERV_kill_workflow.py +0 -0
  80. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/SERV_requests.py +0 -0
  81. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/SERV_start_workflow.py +0 -0
  82. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/Tutorial_Finetuning.py +0 -0
  83. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py +0 -0
  84. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/__init__.py +0 -0
  85. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/answers.py +0 -0
  86. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/chunking.py +0 -0
  87. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  88. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/finetuning.py +0 -0
  89. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/functions_DatasetGeneration.py +0 -0
  90. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/functions_Finetuning.py +0 -0
  91. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/lemmes.py +0 -0
  92. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  93. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/main_DatasetGeneration.py +0 -0
  94. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/main_Finetuning.py +0 -0
  95. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/process_documents.py +0 -0
  96. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  97. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/quickpy.py +0 -0
  98. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/test.py +0 -0
  99. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/test_functions.py +0 -0
  100. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/llm/translations.py +0 -0
  101. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
  102. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  103. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/CheckMetaData.py +0 -0
  104. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  105. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/__init__.py +0 -0
  106. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
  107. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/check_data_in.py +0 -0
  108. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  109. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  110. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  111. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  112. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  113. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
  114. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  115. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  116. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  117. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  118. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  119. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  120. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +0 -0
  121. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
  122. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  123. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
  124. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  125. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
  126. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  127. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
  128. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWEditTable.py +0 -0
  129. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWEndLoop.py +0 -0
  130. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
  131. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  132. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWFileWithPath.py +0 -0
  133. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
  134. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  135. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
  136. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLLM4ALL.py +0 -0
  137. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
  138. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  139. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  140. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  141. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  142. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  143. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  144. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  145. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  146. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
  147. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  148. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
  149. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  150. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  151. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  152. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  153. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  154. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  155. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  156. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  157. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  158. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  159. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
  160. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  161. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  162. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  163. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  164. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  165. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
  166. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
  167. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  168. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  169. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  170. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  171. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  172. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  173. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
  174. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  175. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  176. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  177. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  178. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  179. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  180. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  181. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  182. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  183. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  184. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  185. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  186. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  187. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  188. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  189. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  190. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  191. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  192. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  193. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  194. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  195. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  196. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  197. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  198. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  199. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  200. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  201. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  202. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  203. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  204. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  205. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  206. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/keyword.png +0 -0
  207. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  208. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/llm4all.svg +0 -0
  209. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  210. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  211. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  212. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  213. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  214. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  215. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  216. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  217. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  218. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  219. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  220. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  221. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  222. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  223. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  224. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  225. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  226. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  227. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  228. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  229. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  230. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  231. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  232. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  233. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  234. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  235. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  236. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  237. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  238. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  239. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  240. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  241. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  242. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  243. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  244. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  245. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  246. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  247. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  248. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  249. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  250. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  251. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  252. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  253. {aait-2.0.2.2 → aait-2.0.2.4}/orangecontrib/__init__.py +0 -0
  254. {aait-2.0.2.2 → aait-2.0.2.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aait
3
- Version: 2.0.2.2
3
+ Version: 2.0.2.4
4
4
  Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
5
  Home-page:
6
6
  Author: Orange community
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aait
3
- Version: 2.0.2.2
3
+ Version: 2.0.2.4
4
4
  Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
5
  Home-page:
6
6
  Author: Orange community
@@ -97,7 +97,6 @@ orangecontrib/AAIT/widgets/OWExecuteScript.py
97
97
  orangecontrib/AAIT/widgets/OWExtraChunks.py
98
98
  orangecontrib/AAIT/widgets/OWExtractTokens.py
99
99
  orangecontrib/AAIT/widgets/OWFileWithPath.py
100
- orangecontrib/AAIT/widgets/OWFindFilesFromDir.py
101
100
  orangecontrib/AAIT/widgets/OWGenerateQuestions.py
102
101
  orangecontrib/AAIT/widgets/OWGenerateSynthesis.py
103
102
  orangecontrib/AAIT/widgets/OWInputSelector.py
@@ -130,12 +129,10 @@ orangecontrib/AAIT/widgets/OWQueryLLM.py
130
129
  orangecontrib/AAIT/widgets/OWRandomData.py
131
130
  orangecontrib/AAIT/widgets/OWReranking.py
132
131
  orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py
133
- orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py
134
132
  orangecontrib/AAIT/widgets/OWStartLoop.py
135
133
  orangecontrib/AAIT/widgets/OWTable2Corpus.py
136
134
  orangecontrib/AAIT/widgets/OWTranslation.py
137
135
  orangecontrib/AAIT/widgets/OWTrigger.py
138
- orangecontrib/AAIT/widgets/OWUnzipFolder.py
139
136
  orangecontrib/AAIT/widgets/POW_Wfactory.py
140
137
  orangecontrib/AAIT/widgets/__init__.py
141
138
  orangecontrib/AAIT/widgets/designer/owMarkdown.ui
@@ -151,7 +148,6 @@ orangecontrib/AAIT/widgets/designer/owexecutescript.ui
151
148
  orangecontrib/AAIT/widgets/designer/owextrachunks.ui
152
149
  orangecontrib/AAIT/widgets/designer/owextracttokens.ui
153
150
  orangecontrib/AAIT/widgets/designer/owfilewithpath.ui
154
- orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui
155
151
  orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui
156
152
  orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui
157
153
  orangecontrib/AAIT/widgets/designer/owkeyword.ui
@@ -178,7 +174,6 @@ orangecontrib/AAIT/widgets/designer/owstartloop.ui
178
174
  orangecontrib/AAIT/widgets/designer/owtable2corpus.ui
179
175
  orangecontrib/AAIT/widgets/designer/owtranslation.ui
180
176
  orangecontrib/AAIT/widgets/designer/owtrigger.ui
181
- orangecontrib/AAIT/widgets/designer/owunzipfolder.ui
182
177
  orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg
183
178
  orangecontrib/AAIT/widgets/icons/MDViewer.png
184
179
  orangecontrib/AAIT/widgets/icons/Mistral.png
@@ -214,7 +209,6 @@ orangecontrib/AAIT/widgets/icons/owedittable.svg
214
209
  orangecontrib/AAIT/widgets/icons/owembeddings.svg
215
210
  orangecontrib/AAIT/widgets/icons/owexecutescript.svg
216
211
  orangecontrib/AAIT/widgets/icons/owextracttokens.svg
217
- orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg
218
212
  orangecontrib/AAIT/widgets/icons/owfilewithpath.svg
219
213
  orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg
220
214
  orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png
@@ -236,8 +230,16 @@ orangecontrib/AAIT/widgets/icons/owtranslation.svg
236
230
  orangecontrib/AAIT/widgets/icons/owtrigger.svg
237
231
  orangecontrib/AAIT/widgets/icons/processdocuments.svg
238
232
  orangecontrib/AAIT/widgets/icons/qwen-color.png
239
- orangecontrib/AAIT/widgets/icons/select_dynamic_row.png
240
233
  orangecontrib/AAIT/widgets/icons/startloop.png
241
234
  orangecontrib/AAIT/widgets/icons/tools.png
242
235
  orangecontrib/AAIT/widgets/icons/widgetFactory.svg
243
- orangecontrib/AAIT/widgets/icons/zip.svg
236
+ tests/test_class_values_context_handler.py
237
+ tests/test_credentials.py
238
+ tests/test_domain_context_handler.py
239
+ tests/test_gui.py
240
+ tests/test_matplotlib_export.py
241
+ tests/test_perfect_domain_context_handler.py
242
+ tests/test_scatterplot_density.py
243
+ tests/test_settings_handler.py
244
+ tests/test_widgets_outputs.py
245
+ tests/test_workflows.py
@@ -16,3 +16,4 @@ python-docx==1.1.2
16
16
  psutil
17
17
  thefuzz==0.22.1
18
18
  beautifulsoup4==4.12.3
19
+ CATEGORIT
@@ -1357,7 +1357,7 @@ def get_second_from_1970():
1357
1357
 
1358
1358
  def write_file_time(path):
1359
1359
  time= get_second_from_1970()
1360
- time_ok=path[:-4]+".ok"
1360
+ time_ok=path[:-3]+".ok"
1361
1361
  reset_files([time_ok])
1362
1362
  with open(path, "w") as f:
1363
1363
  f.write(str(time))
@@ -1369,7 +1369,7 @@ def write_file_time(path):
1369
1369
  return
1370
1370
 
1371
1371
  def read_file_time(path):
1372
- time_ok = path[:-4] + ".ok"
1372
+ time_ok = path[:-3] + ".ok"
1373
1373
  for _ in range(100):
1374
1374
  if not os.path.exists(time_ok):
1375
1375
  time.sleep(0.5)
@@ -1,4 +1,11 @@
1
+ import subprocess
1
2
  import os
3
+ import sys
4
+
5
+ if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\","/"):
6
+ from Orange.widgets.orangecontrib.AAIT.utils import SimpleDialogQt
7
+ else:
8
+ from orangecontrib.AAIT.utils import SimpleDialogQt
2
9
 
3
10
  def mac_shellcopy(src, dest):
4
11
  """
@@ -8,6 +15,7 @@ def mac_shellcopy(src, dest):
8
15
  :param dest: Chemin de destination (str)
9
16
  :returns: True si succès, False sinon
10
17
  """
18
+ import io
11
19
  from tqdm import tqdm
12
20
 
13
21
  BUFFER_SIZE = 10 * 1024 * 1024 # 10MB buffer
@@ -455,7 +455,7 @@ def select_new_file_ctypes(file_filter="All Files (*.*)"):
455
455
 
456
456
  import subprocess
457
457
  import os
458
-
458
+ import sys
459
459
 
460
460
  def mac_shellcopy(src, dest):
461
461
  """
@@ -114,7 +114,7 @@ def tokens_to_column(table):
114
114
 
115
115
  new_data_rows = []
116
116
  for i, row in enumerate(table):
117
- tokens = list(table.tokens[i])
117
+ tokens = table.tokens[i]
118
118
 
119
119
  # Pad token list to max_tokens with empty strings
120
120
  padded_tokens = tokens + [''] * (max_tokens - len(tokens))
@@ -260,7 +260,7 @@ class OWGenerateSynthesis(widget.OWWidget):
260
260
  current_length = len(embedder.tokenizer(partial_summaries)["input_ids"])
261
261
  self.label_progress_3.setText(f"Resulting length from precedent chunks : {current_length} tokens")
262
262
  chunks, _ = chunking.chunk_words(partial_summaries, embedder.tokenizer, chunk_size=25000, chunk_overlap=200)
263
- self.label_progress_2.setText("Finalising the current summary...")
263
+ self.label_progress_2.setText(f"Finalising the current summary...")
264
264
  return self.generate_synthesis_on_chunk(model, chunks[0], llm=llm, prompt_template=prompt4)
265
265
 
266
266
 
@@ -169,7 +169,7 @@ class OWLMStudio(widget.OWWidget):
169
169
  for i, row in enumerate(self.data):
170
170
  features = list(self.data[i])
171
171
  metas = list(self.data.metas[i])
172
- result = lmstudio.appel_lmstudio(str(row["prompt"]), self.model, stream=stream)
172
+ result = lmstudio.appel_lmstudio(str(row["prompt"]), self.model)
173
173
  metas.append(result)
174
174
  rows.append(features + metas)
175
175
  answer_dom = [StringVariable("Answer")]
@@ -21,6 +21,7 @@ else:
21
21
  class OWModel_CE_MiniLML6(widget.OWWidget):
22
22
  name = "Cross Encoder - MiniLM L6 v2"
23
23
  description = "Load the cross encoder MiniLM L6 v2 from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/owmodel_ce_minilml6.svg"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/owmodel_ce_minilml6.svg"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelFalcon(widget.OWWidget):
22
22
  name = "Falcon 3 7B"
23
23
  description = "Load the model Solar from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/owmodel_falcon.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/owmodel_falcon.png"
@@ -22,6 +22,7 @@ else:
22
22
  class OWModel_HelsinkiEnFr(widget.OWWidget):
23
23
  name = "Model - Translation - Helsinki EN-FR"
24
24
  description = "Load the translation model Helsinki EN-FR from the AAIT Store"
25
+ category = "AAIT - Models"
25
26
  icon = "icons/owmodel_helsinki_en_fr.svg"
26
27
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
27
28
  icon = "icons_dev/owmodel_helsinki_en_fr.svg"
@@ -23,6 +23,7 @@ else:
23
23
  class OWModel_HelsinkiFrEn(widget.OWWidget):
24
24
  name = "Model - Translation - Helsinki FR-EN"
25
25
  description = "Load the translation model Helsinki FR-EN from the AAIT Store"
26
+ category = "AAIT - Models"
26
27
  icon = "icons/owmodel_helsinki_fr_en.svg"
27
28
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
28
29
  icon = "icons_dev/owmodel_helsinki_fr_en.svg"
@@ -22,6 +22,7 @@ else:
22
22
  class OWModelMPNET(widget.OWWidget):
23
23
  name = "Model - Embeddings - MPNET"
24
24
  description = "Load the embeddings model all-mpnet-base-v2 from the AAIT Store"
25
+ category = "AAIT - Models"
25
26
  icon = "icons/owmodel_mpnet.svg"
26
27
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
27
28
  icon = "icons_dev/owmodel_mpnet.svg"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelMistral(widget.OWWidget):
22
22
  name = "Mistral 7B"
23
23
  description = "Load the model Mistral from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/Mistral.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/Mistral.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelQwen(widget.OWWidget):
22
22
  name = "QwenCoder 7B"
23
23
  description = "Load the model QwenCoder from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/qwen-color.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/qwen-color.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelQwenInstruct1B5Q4(widget.OWWidget):
22
22
  name = "Qwen Instruct 1.5B Q6"
23
23
  description = "Load the model Qwen instruct from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/qwen-color.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/qwen-color.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelQwenInstruct3BQ4(widget.OWWidget):
22
22
  name = "Qwen 2.5 32B"
23
23
  description = "Load the model Qwen from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/qwen-color.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/qwen-color.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelQwenInstruct3BQ4(widget.OWWidget):
22
22
  name = "Qwen Instruct 3B Q4"
23
23
  description = "Load the model Qwen from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/qwen-color.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/qwen-color.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelQwenInstruct7BQ4(widget.OWWidget):
22
22
  name = "Qwen Instruct 7B Q4"
23
23
  description = "Load the model Qwen from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/qwen-color.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/qwen-color.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelQwenInstruct7BQ6(widget.OWWidget):
22
22
  name = "Qwen Instruct 7B Q6"
23
23
  description = "Load the model Qwen from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/qwen-color.png"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/qwen-color.png"
@@ -21,6 +21,7 @@ else:
21
21
  class OWModelSolar(widget.OWWidget):
22
22
  name = "Solar 10.7B"
23
23
  description = "Load the model Solar from the AAIT Store"
24
+ category = "AAIT - Models"
24
25
  icon = "icons/logo_solar.svg"
25
26
  if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
26
27
  icon = "icons_dev/logo_solar.svg"
@@ -5,7 +5,7 @@ from Orange.widgets import gui, widget
5
5
  from Orange.widgets.settings import Setting
6
6
  from Orange.widgets.utils.widgetpreview import WidgetPreview
7
7
  from Orange.widgets.widget import Input, Output
8
- from Orange.data import Table
8
+ from Orange.data import Table, StringVariable
9
9
 
10
10
  class OWSaveFilepathEntry(widget.OWWidget):
11
11
  name = "Save with Filepath Entry"
@@ -44,15 +44,17 @@ class OWSaveFilepathEntry(widget.OWWidget):
44
44
  @Inputs.path_table
45
45
  def set_path_table(self, in_path_table):
46
46
  if in_path_table is not None:
47
- #pour enregistrement en json
48
- if "path" in in_path_table.domain:
49
- if in_path_table[0]["path"].value.endswith(".json"):
50
- self.json = True
51
-
52
47
  if "path" in in_path_table.domain:
53
48
  self.save_path = in_path_table[0]["path"].value.replace('"', '')
54
49
  self.run()
55
50
 
51
+ #pour enregistrement en json
52
+ if "folder_path" in in_path_table.domain:
53
+ self.save_path = in_path_table[0]["folder_path"].value.replace('"', '')
54
+ self.json = True
55
+ self.run()
56
+
57
+
56
58
  def __init__(self):
57
59
  super().__init__()
58
60
  self.info_label = gui.label(self.controlArea, self, "Initial info.")
@@ -92,37 +94,39 @@ class OWSaveFilepathEntry(widget.OWWidget):
92
94
  saver.filename = self.save_path
93
95
  saver.filter = selected_filter
94
96
  saver.do_save()
95
- self.Outputs.data.send(self.data)
97
+
96
98
  self.data = None
97
99
  self.save_path = None
98
100
 
99
101
  def save_json(self):
100
- if "content" not in self.data.domain:
102
+ if "answer" not in self.data.domain:
101
103
  self.error("No answer column found.")
102
104
  return
103
- if "content" not in self.data.domain:
104
- self.error("No path column found.")
105
+ if "folder_path" not in self.data.domain:
106
+ self.error("No folder_path column found.")
105
107
  return
106
- for i in range(len(self.data.get_column("path"))):
107
- text_response = self.data.get_column("content")[i]
108
- folder_path = self.data.get_column("path")[i]
108
+ text_response = self.data.get_column("answer")[0]
109
+ folder_path = self.data.get_column("folder_path")[0]
110
+ try:
111
+ data_raw = json.loads(text_response)
112
+ except json.JSONDecodeError as e:
113
+ print("JSON mal formé :", e)
109
114
  try:
110
- data_raw = json.loads(text_response)
111
- except json.JSONDecodeError as e:
112
- print("JSON mal formé :", e)
113
- try:
114
- data_raw = ast.literal_eval(text_response)
115
- except Exception as e2:
116
- print("Invalid JSON :", e2)
117
- self.error("Invalid JSON :", e2)
118
- return
119
-
120
- with open(folder_path, "w", encoding="utf-8") as f:
121
- json.dump(data_raw, f, ensure_ascii=False, indent=4)
115
+ data_raw = ast.literal_eval(text_response)
116
+ except Exception as e2:
117
+ print("Faux JSON invalide aussi :", e2)
118
+ self.error("Faux JSON invalide aussi :", e2)
119
+
120
+ json_path = folder_path + "/rapport.json"
121
+ # Étape 3 : enregistrer dans un fichier JSON propre
122
+ with open(json_path, "w", encoding="utf-8") as f:
123
+ json.dump(data_raw, f, ensure_ascii=False, indent=4)
122
124
  self.information("JSON saved successfully")
125
+ new_name_column = StringVariable("json_path")
126
+ out_data = self.data.add_column(new_name_column, [json_path])
123
127
  self.json = False
124
128
  self.save_path = None
125
- self.Outputs.data.send(self.data)
129
+ self.Outputs.data.send(out_data)
126
130
 
127
131
  def run(self):
128
132
  self.error("")
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
4
4
  NAME = "aait"
5
5
 
6
6
  # Version du package PyPI
7
- VERSION = "2.0.2.2" # la version doit être supérieure à la précédente sinon la publication sera refusée
7
+ VERSION = "2.0.2.4" # la version doit être supérieure à la précédente sinon la publication sera refusée
8
8
 
9
9
  # Facultatif / Adaptable à souhait
10
10
  AUTHOR = "Orange community"
@@ -53,7 +53,8 @@ INSTALL_REQUIRES = [
53
53
  "python-docx==1.1.2",
54
54
  "psutil",
55
55
  "thefuzz==0.22.1",
56
- "beautifulsoup4==4.12.3"]
56
+ "beautifulsoup4==4.12.3",
57
+ "CATEGORIT"]
57
58
 
58
59
 
59
60
  # Spécifie le dossier contenant les widgets et le nom de section qu'aura l'addon sur Orange
@@ -0,0 +1,75 @@
1
+ from unittest import TestCase
2
+ from unittest.mock import Mock
3
+ from Orange.data import DiscreteVariable, Domain
4
+ from Orange.data import ContinuousVariable
5
+ from Orange.widgets.settings import ContextSetting, ClassValuesContextHandler
6
+ from Orange.widgets.utils import vartype
7
+
8
+ Continuous = vartype(ContinuousVariable("x"))
9
+ Discrete = vartype(DiscreteVariable("x"))
10
+
11
+
12
+ class TestClassValuesContextHandler(TestCase):
13
+ def setUp(self):
14
+ self.domain = Domain(
15
+ attributes=[ContinuousVariable('c1'),
16
+ DiscreteVariable('d1', values='abc'),
17
+ DiscreteVariable('d2', values='def')],
18
+ class_vars=[DiscreteVariable('d3', values='ghi')],
19
+ metas=[ContinuousVariable('c2'),
20
+ DiscreteVariable('d4', values='jkl')]
21
+ )
22
+ self.args = (self.domain,
23
+ {'c1': Continuous, 'd1': Discrete,
24
+ 'd2': Discrete, 'd3': Discrete},
25
+ {'c2': Continuous, 'd4': Discrete, })
26
+ self.handler = ClassValuesContextHandler()
27
+ self.handler.read_defaults = lambda: None
28
+
29
+ def test_open_context(self):
30
+ self.handler.bind(SimpleWidget)
31
+ context = Mock(
32
+ classes=['g', 'h', 'i'], values=dict(
33
+ text='u',
34
+ with_metas=[('d1', Discrete), ('d2', Discrete)]
35
+ ))
36
+ self.handler.global_contexts = \
37
+ [Mock(classes=[], values={}), context, Mock(classes=[], values={})]
38
+
39
+ widget = SimpleWidget()
40
+ self.handler.initialize(widget)
41
+ self.handler.open_context(widget, self.args[0].class_var)
42
+ self.assertEqual(widget.text, 'u')
43
+ self.assertEqual(widget.with_metas, [('d1', Discrete),
44
+ ('d2', Discrete)])
45
+
46
+ def test_open_context_with_no_match(self):
47
+ self.handler.bind(SimpleWidget)
48
+ context = Mock(
49
+ classes=['g', 'h', 'i'], values=dict(
50
+ text='u',
51
+ with_metas=[('d1', Discrete), ('d2', Discrete)]
52
+ ))
53
+ self.handler.global_contexts = \
54
+ [Mock(classes=[], values={}), context, Mock(classes=(), values={})]
55
+ widget = SimpleWidget()
56
+ self.handler.initialize(widget)
57
+ widget.text = 'u'
58
+
59
+ self.handler.open_context(widget, self.args[0][1])
60
+
61
+ context = widget.current_context
62
+ self.assertEqual(context.classes, ('a', 'b', 'c'))
63
+ self.assertEqual(widget.text, 'u')
64
+ self.assertEqual(widget.with_metas, [])
65
+
66
+
67
+ class SimpleWidget:
68
+ text = ContextSetting("")
69
+ with_metas = ContextSetting([])
70
+ required = ContextSetting("", required=ContextSetting.REQUIRED)
71
+
72
+ def retrieveSpecificSettings(self):
73
+ pass
74
+ def storeSpecificSettings(self):
75
+ pass
@@ -0,0 +1,76 @@
1
+ import unittest
2
+ from unittest.mock import patch
3
+
4
+ import keyring
5
+ import keyring.errors
6
+ import keyring.backend
7
+
8
+ from Orange.widgets.credentials import CredentialManager
9
+
10
+
11
+ # minimal in-memory keyring implementation so the test is not dependent on
12
+ # the system config/services.
13
+ class Keyring(keyring.backend.KeyringBackend):
14
+ priority = 0
15
+
16
+ def __init__(self):
17
+ self.__store = {}
18
+
19
+ def set_password(self, service, username, password=None):
20
+ self.__store[(service, username)] = password
21
+
22
+ def get_password(self, service, username):
23
+ return self.__store.get((service, username), None)
24
+
25
+ def delete_password(self, service, username):
26
+ try:
27
+ del self.__store[service, username]
28
+ except KeyError:
29
+ raise keyring.errors.PasswordDeleteError()
30
+
31
+
32
+ class TestCredentialManager(unittest.TestCase):
33
+ def setUp(self):
34
+ self._ring = keyring.get_keyring()
35
+ keyring.set_keyring(Keyring())
36
+ self.cm = CredentialManager('Orange')
37
+
38
+ def tearDown(self):
39
+ keyring.set_keyring(self._ring)
40
+
41
+ def test_credential_manager(self):
42
+ cm = CredentialManager('Orange')
43
+ cm.key = 'Foo'
44
+ self.assertEqual(cm.key, 'Foo')
45
+ del cm.key
46
+ self.assertEqual(cm.key, None)
47
+
48
+ def test_set_password(self):
49
+ """
50
+ Handle error when setting password fails.
51
+ GH-2354
52
+ """
53
+ with patch("keyring.set_password", side_effect=Exception), \
54
+ patch("Orange.widgets.credentials.log.exception") as log:
55
+ self.cm.key = ""
56
+ log.assert_called()
57
+
58
+ def test_delete_password(self):
59
+ """
60
+ Handling error when deleting password fails
61
+ GH-2354
62
+ """
63
+ with patch("keyring.delete_password", side_effect=Exception), \
64
+ patch("Orange.widgets.credentials.log.exception") as log:
65
+ del self.cm.key
66
+ log.assert_called()
67
+
68
+ def test_get_password(self):
69
+ """
70
+ Handling errors when getting password fails.
71
+ GH-2354
72
+ """
73
+ with patch("keyring.get_password", side_effect=Exception), \
74
+ patch("Orange.widgets.credentials.log.exception") as log:
75
+ self.assertEqual(self.cm.key, None)
76
+ log.assert_called()