aait 2.0.2.18__tar.gz → 2.0.2.20__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 (250) hide show
  1. aait-2.0.2.20/PKG-INFO +26 -0
  2. aait-2.0.2.20/aait.egg-info/PKG-INFO +26 -0
  3. {aait-2.0.2.18 → aait-2.0.2.20}/aait.egg-info/SOURCES.txt +9 -3
  4. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWAAITResourcesManager.py +5 -1
  5. aait-2.0.2.20/orangecontrib/AAIT/widgets/OWAddColumns.py +236 -0
  6. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWEditTable.py +4 -1
  7. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWEndLoop.py +5 -1
  8. aait-2.0.2.20/orangecontrib/AAIT/widgets/designer/owaddcolumns.ui +110 -0
  9. aait-2.0.2.20/orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui +42 -0
  10. aait-2.0.2.20/orangecontrib/AAIT/widgets/designer/owunzipfolder.ui +32 -0
  11. aait-2.0.2.20/orangecontrib/AAIT/widgets/icons/owenvinfo.png +0 -0
  12. aait-2.0.2.20/orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg +22 -0
  13. aait-2.0.2.20/orangecontrib/AAIT/widgets/icons/select_dynamic_row.png +0 -0
  14. aait-2.0.2.20/orangecontrib/AAIT/widgets/icons/zip.svg +26 -0
  15. {aait-2.0.2.18 → aait-2.0.2.20}/setup.py +1 -1
  16. aait-2.0.2.18/License.txt +0 -6
  17. aait-2.0.2.18/PKG-INFO +0 -9
  18. aait-2.0.2.18/aait.egg-info/PKG-INFO +0 -9
  19. aait-2.0.2.18/orangecontrib/AAIT/widgets/OWEnvInfo.py +0 -101
  20. {aait-2.0.2.18 → aait-2.0.2.20}/aait.egg-info/dependency_links.txt +0 -0
  21. {aait-2.0.2.18 → aait-2.0.2.20}/aait.egg-info/entry_points.txt +0 -0
  22. {aait-2.0.2.18 → aait-2.0.2.20}/aait.egg-info/namespace_packages.txt +0 -0
  23. {aait-2.0.2.18 → aait-2.0.2.20}/aait.egg-info/requires.txt +0 -0
  24. {aait-2.0.2.18 → aait-2.0.2.20}/aait.egg-info/top_level.txt +0 -0
  25. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/__init__.py +0 -0
  26. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/SignalReceiver.py +0 -0
  27. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/__init__.py +0 -0
  28. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/audit_widget.py +0 -0
  29. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (2).TIF +0 -0
  30. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (3).TIF +0 -0
  31. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dataTests/00079473A - Copie (4).TIF +0 -0
  32. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0001.csv +0 -0
  33. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0002.csv +0 -0
  34. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dataTests/Tir 81mm_0003.csv +0 -0
  35. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/dynamic_results.py +0 -0
  36. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/test_all_widgets.py +0 -0
  37. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/test_server.py +0 -0
  38. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_4all.py +0 -0
  39. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_chunking.py +0 -0
  40. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_edit_table.py +0 -0
  41. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_mpnet_create_embeddings.py +0 -0
  42. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_optimisation.py +0 -0
  43. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_optimisationselection.py +0 -0
  44. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_powfactory.py +0 -0
  45. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_queryllm.py +0 -0
  46. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_spacy_md_fr_lemmatizer.py +0 -0
  47. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widget_traduction.py +0 -0
  48. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/audit_widget/widgets_model.py +0 -0
  49. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/encapsulation/__init__.py +0 -0
  50. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/fix_torch/fix_torch_dll_error.py +0 -0
  51. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/fix_torch/libomp140.x86_64.dll +0 -0
  52. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/GPT4ALL.py +0 -0
  53. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/GPT4ALL_killer.py +0 -0
  54. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/MergeBaseLora.py +0 -0
  55. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/SERV_kill_workflow.py +0 -0
  56. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/SERV_requests.py +0 -0
  57. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/SERV_start_workflow.py +0 -0
  58. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/Tutorial_Finetuning.py +0 -0
  59. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/Tutorial_TestFinetuning.py +0 -0
  60. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/__init__.py +0 -0
  61. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/answers.py +0 -0
  62. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/chunking.py +0 -0
  63. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/embeddings.py +0 -0
  64. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/finetuning.py +0 -0
  65. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/functions_DatasetGeneration.py +0 -0
  66. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/functions_Finetuning.py +0 -0
  67. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/lemmes.py +0 -0
  68. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/lmstudio.py +0 -0
  69. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/main_DatasetGeneration.py +0 -0
  70. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/main_Finetuning.py +0 -0
  71. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/process_documents.py +0 -0
  72. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/prompt_management.py +0 -0
  73. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/quickpy.py +0 -0
  74. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/test.py +0 -0
  75. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/test_functions.py +0 -0
  76. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/llm/translations.py +0 -0
  77. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/optimiser/__init__.py +0 -0
  78. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/optimiser/optuna_multi.py +0 -0
  79. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/CheckMetaData.py +0 -0
  80. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/MetManagement.py +0 -0
  81. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/SimpleDialogQt.py +0 -0
  82. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/__init__.py +0 -0
  83. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/aait_repo_file.py +0 -0
  84. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/check_data_in.py +0 -0
  85. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/delta_local_shared_fodler.py +0 -0
  86. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/import_uic.py +0 -0
  87. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/initialize_from_ini.py +0 -0
  88. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/mac_utils.py +0 -0
  89. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/shared_functions.py +0 -0
  90. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/shared_variables.py +0 -0
  91. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/subprocess_management.py +0 -0
  92. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/thread_management.py +0 -0
  93. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/tools/__init__.py +0 -0
  94. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/tools/change_owcorpus.py +0 -0
  95. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py +0 -0
  96. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/tools/first_time_check.py +0 -0
  97. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/tools/owcorpus_ok.txt +0 -0
  98. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/utils/windows_utils.py +0 -0
  99. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWApplyRules.py +0 -0
  100. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWCN2rule_view.py +0 -0
  101. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWChunking.py +0 -0
  102. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWConcatRules.py +0 -0
  103. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWConverseLLM.py +0 -0
  104. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWCreateEmbeddings.py +0 -0
  105. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWDisplayMD.py +0 -0
  106. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWExecuteScript.py +0 -0
  107. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWExtraChunks.py +0 -0
  108. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWExtractTokens.py +0 -0
  109. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWFileWithPath.py +0 -0
  110. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWFindFilesFromDir.py +0 -0
  111. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWGenerateQuestions.py +0 -0
  112. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWGenerateSynthesis.py +0 -0
  113. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWInputSelector.py +0 -0
  114. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWKeywords.py +0 -0
  115. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWLLM4ALL.py +0 -0
  116. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWLMStudio.py +0 -0
  117. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWLanguageDetection.py +0 -0
  118. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWLemmatizer.py +0 -0
  119. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_CE_MiniLML6.py +0 -0
  120. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Falcon.py +0 -0
  121. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_HelsinkiEnFr.py +0 -0
  122. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_HelsinkiFrEn.py +0 -0
  123. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_MPNET.py +0 -0
  124. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Mistral.py +0 -0
  125. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Qwen.py +0 -0
  126. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Qwen1B5_Q6.py +0 -0
  127. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Qwen2_5_32B.py +0 -0
  128. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Qwen3B_Q4.py +0 -0
  129. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q4.py +0 -0
  130. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Qwen7B_Q6.py +0 -0
  131. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_Solar.py +0 -0
  132. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_SolarUncensored.py +0 -0
  133. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_EN.py +0 -0
  134. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWModel_SpacyMD_FR.py +0 -0
  135. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWOptimisation.py +0 -0
  136. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWOptimisationSelection.py +0 -0
  137. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWOptimisationSendScore.py +0 -0
  138. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWProcessDocumentsFromPath.py +0 -0
  139. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWQueryLLM.py +0 -0
  140. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWRandomData.py +0 -0
  141. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWReranking.py +0 -0
  142. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWSaveFilepathEntry.py +0 -0
  143. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWSelectRowsDynamic.py +0 -0
  144. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWStartLoop.py +0 -0
  145. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWTable2Corpus.py +0 -0
  146. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWTranslation.py +0 -0
  147. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWTrigger.py +0 -0
  148. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/OWUnzipFolder.py +0 -0
  149. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/POW_Wfactory.py +0 -0
  150. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/__init__.py +0 -0
  151. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owMarkdown.ui +0 -0
  152. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui +0 -0
  153. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui +0 -0
  154. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owapplyrules.ui +0 -0
  155. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owchunking.ui +0 -0
  156. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owconcatrules.ui +0 -0
  157. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owconversellm.ui +0 -0
  158. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owembeddings.ui +0 -0
  159. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owendloop.ui +0 -0
  160. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owexecutescript.ui +0 -0
  161. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owextrachunks.ui +0 -0
  162. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owextracttokens.ui +0 -0
  163. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owfilewithpath.ui +0 -0
  164. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui +0 -0
  165. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui +0 -0
  166. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owkeyword.ui +0 -0
  167. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owlangdetect.ui +0 -0
  168. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owlemmatizer.ui +0 -0
  169. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owllm4all.ui +0 -0
  170. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owloadworkflow.ui +0 -0
  171. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_ce_minilml6.ui +0 -0
  172. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_falcon.ui +0 -0
  173. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_en_fr.ui +0 -0
  174. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_helsinki_fr_en.ui +0 -0
  175. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_mistral.ui +0 -0
  176. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_mpnet.ui +0 -0
  177. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_qwen.ui +0 -0
  178. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_solar.ui +0 -0
  179. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_solar_uncensored.ui +0 -0
  180. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_en.ui +0 -0
  181. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owmodel_spacymd_fr.ui +0 -0
  182. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/ownumberpointinrules.ui +0 -0
  183. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owprocessdocuments.ui +0 -0
  184. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owqueryllm.ui +0 -0
  185. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owreranking.ui +0 -0
  186. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owstartloop.ui +0 -0
  187. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owtable2corpus.ui +0 -0
  188. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owtranslation.ui +0 -0
  189. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/designer/owtrigger.ui +0 -0
  190. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg +0 -0
  191. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/MDViewer.png +0 -0
  192. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/Mistral.png +0 -0
  193. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/apply_rules.svg +0 -0
  194. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/category.svg +0 -0
  195. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/dark_green.txt +0 -0
  196. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/de.png +0 -0
  197. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/documents.png +0 -0
  198. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/endloop.png +0 -0
  199. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/extra_chunks.png +0 -0
  200. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/in_or_out.png +0 -0
  201. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/input.png +0 -0
  202. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/keyword.png +0 -0
  203. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/languages.png +0 -0
  204. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/llm4all.svg +0 -0
  205. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/lm_studio.png +0 -0
  206. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/local_interf_img_multi_pull.svg +0 -0
  207. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/local_interf_multi_pull.svg +0 -0
  208. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/local_interf_pull.svg +0 -0
  209. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/local_interf_push.svg +0 -0
  210. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/local_interf_text_pull.svg +0 -0
  211. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/logo_solar.svg +0 -0
  212. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/logo_uncensoredsolar.svg +0 -0
  213. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/logo_upload.png +0 -0
  214. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/models.png +0 -0
  215. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/optimisation.png +0 -0
  216. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/optimizer.png +0 -0
  217. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/output.png +0 -0
  218. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owCN2_intersect_rules.svg +0 -0
  219. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owchunking.png +0 -0
  220. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owconversellm.svg +0 -0
  221. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owedittable.svg +0 -0
  222. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owembeddings.svg +0 -0
  223. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owexecutescript.svg +0 -0
  224. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owextracttokens.svg +0 -0
  225. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owfilewithpath.svg +0 -0
  226. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg +0 -0
  227. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png +0 -0
  228. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owlemmatizer.svg +0 -0
  229. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_ce_minilml6.svg +0 -0
  230. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_falcon.png +0 -0
  231. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_en_fr.svg +0 -0
  232. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_helsinki_fr_en.svg +0 -0
  233. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_mpnet.svg +0 -0
  234. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_en.svg +0 -0
  235. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owmodel_spacymd_fr.svg +0 -0
  236. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owoptimisation.svg +0 -0
  237. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owoptimisationselection.png +0 -0
  238. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owqueryllm.svg +0 -0
  239. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owreranking.svg +0 -0
  240. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owsavefilepathentry.svg +0 -0
  241. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owtable2corpus.svg +0 -0
  242. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owtranslation.svg +0 -0
  243. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/owtrigger.svg +0 -0
  244. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/processdocuments.svg +0 -0
  245. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/qwen-color.png +0 -0
  246. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/startloop.png +0 -0
  247. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/tools.png +0 -0
  248. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/AAIT/widgets/icons/widgetFactory.svg +0 -0
  249. {aait-2.0.2.18 → aait-2.0.2.20}/orangecontrib/__init__.py +0 -0
  250. {aait-2.0.2.18 → aait-2.0.2.20}/setup.cfg +0 -0
aait-2.0.2.20/PKG-INFO ADDED
@@ -0,0 +1,26 @@
1
+ Metadata-Version: 2.1
2
+ Name: aait
3
+ Version: 2.0.2.20
4
+ Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
+ Home-page:
6
+ Author: Orange community
7
+ Author-email:
8
+ Keywords: orange3 add-on
9
+ Requires-Dist: torch
10
+ Requires-Dist: sentence-transformers==5.0.0
11
+ Requires-Dist: gpt4all[all]==2.8.2
12
+ Requires-Dist: sacremoses==0.1.1
13
+ Requires-Dist: transformers==4.51.3
14
+ Requires-Dist: sentencepiece==0.2.0
15
+ Requires-Dist: optuna
16
+ Requires-Dist: spacy==3.7.6
17
+ Requires-Dist: markdown
18
+ Requires-Dist: python-multipart
19
+ Requires-Dist: PyMuPDF==1.24.14
20
+ Requires-Dist: chonkie==0.4.1
21
+ Requires-Dist: GPUtil==1.4.0
22
+ Requires-Dist: unidecode==1.3.8
23
+ Requires-Dist: python-docx==1.1.2
24
+ Requires-Dist: psutil
25
+ Requires-Dist: thefuzz==0.22.1
26
+ Requires-Dist: beautifulsoup4==4.12.3
@@ -0,0 +1,26 @@
1
+ Metadata-Version: 2.1
2
+ Name: aait
3
+ Version: 2.0.2.20
4
+ Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
+ Home-page:
6
+ Author: Orange community
7
+ Author-email:
8
+ Keywords: orange3 add-on
9
+ Requires-Dist: torch
10
+ Requires-Dist: sentence-transformers==5.0.0
11
+ Requires-Dist: gpt4all[all]==2.8.2
12
+ Requires-Dist: sacremoses==0.1.1
13
+ Requires-Dist: transformers==4.51.3
14
+ Requires-Dist: sentencepiece==0.2.0
15
+ Requires-Dist: optuna
16
+ Requires-Dist: spacy==3.7.6
17
+ Requires-Dist: markdown
18
+ Requires-Dist: python-multipart
19
+ Requires-Dist: PyMuPDF==1.24.14
20
+ Requires-Dist: chonkie==0.4.1
21
+ Requires-Dist: GPUtil==1.4.0
22
+ Requires-Dist: unidecode==1.3.8
23
+ Requires-Dist: python-docx==1.1.2
24
+ Requires-Dist: psutil
25
+ Requires-Dist: thefuzz==0.22.1
26
+ Requires-Dist: beautifulsoup4==4.12.3
@@ -1,4 +1,3 @@
1
- License.txt
2
1
  setup.cfg
3
2
  setup.py
4
3
  aait.egg-info/PKG-INFO
@@ -84,6 +83,7 @@ orangecontrib/AAIT/utils/tools/concat_splitted_pypi.py
84
83
  orangecontrib/AAIT/utils/tools/first_time_check.py
85
84
  orangecontrib/AAIT/utils/tools/owcorpus_ok.txt
86
85
  orangecontrib/AAIT/widgets/OWAAITResourcesManager.py
86
+ orangecontrib/AAIT/widgets/OWAddColumns.py
87
87
  orangecontrib/AAIT/widgets/OWApplyRules.py
88
88
  orangecontrib/AAIT/widgets/OWCN2rule_view.py
89
89
  orangecontrib/AAIT/widgets/OWChunking.py
@@ -93,7 +93,6 @@ orangecontrib/AAIT/widgets/OWCreateEmbeddings.py
93
93
  orangecontrib/AAIT/widgets/OWDisplayMD.py
94
94
  orangecontrib/AAIT/widgets/OWEditTable.py
95
95
  orangecontrib/AAIT/widgets/OWEndLoop.py
96
- orangecontrib/AAIT/widgets/OWEnvInfo.py
97
96
  orangecontrib/AAIT/widgets/OWExecuteScript.py
98
97
  orangecontrib/AAIT/widgets/OWExtraChunks.py
99
98
  orangecontrib/AAIT/widgets/OWExtractTokens.py
@@ -142,6 +141,7 @@ orangecontrib/AAIT/widgets/__init__.py
142
141
  orangecontrib/AAIT/widgets/designer/owMarkdown.ui
143
142
  orangecontrib/AAIT/widgets/designer/ow_in_or_out_path.ui
144
143
  orangecontrib/AAIT/widgets/designer/ow_widget_random_data.ui
144
+ orangecontrib/AAIT/widgets/designer/owaddcolumns.ui
145
145
  orangecontrib/AAIT/widgets/designer/owapplyrules.ui
146
146
  orangecontrib/AAIT/widgets/designer/owchunking.ui
147
147
  orangecontrib/AAIT/widgets/designer/owconcatrules.ui
@@ -152,6 +152,7 @@ orangecontrib/AAIT/widgets/designer/owexecutescript.ui
152
152
  orangecontrib/AAIT/widgets/designer/owextrachunks.ui
153
153
  orangecontrib/AAIT/widgets/designer/owextracttokens.ui
154
154
  orangecontrib/AAIT/widgets/designer/owfilewithpath.ui
155
+ orangecontrib/AAIT/widgets/designer/owfindfilesfromdir.ui
155
156
  orangecontrib/AAIT/widgets/designer/owgeneratequestions.ui
156
157
  orangecontrib/AAIT/widgets/designer/owgeneratesynthesis.ui
157
158
  orangecontrib/AAIT/widgets/designer/owkeyword.ui
@@ -178,6 +179,7 @@ orangecontrib/AAIT/widgets/designer/owstartloop.ui
178
179
  orangecontrib/AAIT/widgets/designer/owtable2corpus.ui
179
180
  orangecontrib/AAIT/widgets/designer/owtranslation.ui
180
181
  orangecontrib/AAIT/widgets/designer/owtrigger.ui
182
+ orangecontrib/AAIT/widgets/designer/owunzipfolder.ui
181
183
  orangecontrib/AAIT/widgets/icons/CN2RuleViewer.svg
182
184
  orangecontrib/AAIT/widgets/icons/MDViewer.png
183
185
  orangecontrib/AAIT/widgets/icons/Mistral.png
@@ -211,8 +213,10 @@ orangecontrib/AAIT/widgets/icons/owchunking.png
211
213
  orangecontrib/AAIT/widgets/icons/owconversellm.svg
212
214
  orangecontrib/AAIT/widgets/icons/owedittable.svg
213
215
  orangecontrib/AAIT/widgets/icons/owembeddings.svg
216
+ orangecontrib/AAIT/widgets/icons/owenvinfo.png
214
217
  orangecontrib/AAIT/widgets/icons/owexecutescript.svg
215
218
  orangecontrib/AAIT/widgets/icons/owextracttokens.svg
219
+ orangecontrib/AAIT/widgets/icons/owfilesfromdir.svg
216
220
  orangecontrib/AAIT/widgets/icons/owfilewithpath.svg
217
221
  orangecontrib/AAIT/widgets/icons/owgeneratequestions.svg
218
222
  orangecontrib/AAIT/widgets/icons/owgeneratesynthesis.png
@@ -234,6 +238,8 @@ orangecontrib/AAIT/widgets/icons/owtranslation.svg
234
238
  orangecontrib/AAIT/widgets/icons/owtrigger.svg
235
239
  orangecontrib/AAIT/widgets/icons/processdocuments.svg
236
240
  orangecontrib/AAIT/widgets/icons/qwen-color.png
241
+ orangecontrib/AAIT/widgets/icons/select_dynamic_row.png
237
242
  orangecontrib/AAIT/widgets/icons/startloop.png
238
243
  orangecontrib/AAIT/widgets/icons/tools.png
239
- orangecontrib/AAIT/widgets/icons/widgetFactory.svg
244
+ orangecontrib/AAIT/widgets/icons/widgetFactory.svg
245
+ orangecontrib/AAIT/widgets/icons/zip.svg
@@ -498,4 +498,8 @@ if __name__ == '__main__':
498
498
  app = QApplication(sys.argv)
499
499
  window = OWAAITResourcesManager()
500
500
  window.show()
501
- app.exec_()
501
+ if hasattr(app, "exec"):
502
+ app.exec()
503
+ else:
504
+ app.exec_()
505
+
@@ -0,0 +1,236 @@
1
+ import os
2
+ import sys
3
+ import platform
4
+ import numpy as np
5
+ import datetime as datetime
6
+ import Orange
7
+ import Orange.data
8
+ from Orange.widgets import widget
9
+ from Orange.widgets.utils.signals import Input, Output
10
+ from AnyQt.QtWidgets import (
11
+ QApplication, QWidget, QCheckBox, QVBoxLayout, QSizePolicy,
12
+ QPushButton, QHBoxLayout, QScrollArea, QLabel
13
+ )
14
+
15
+ # Conditional imports to mirror Orange add-on layout
16
+ if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
17
+ from Orange.widgets.orangecontrib.AAIT.utils.import_uic import uic
18
+ from Orange.widgets.orangecontrib.AAIT.utils.initialize_from_ini import apply_modification_from_python_file
19
+ else:
20
+ from orangecontrib.AAIT.utils.import_uic import uic
21
+ from orangecontrib.AAIT.utils.initialize_from_ini import apply_modification_from_python_file
22
+
23
+ try:
24
+ import importlib.metadata as importlib_metadata
25
+ except Exception: # pragma: no cover
26
+ import importlib_metadata # type: ignore
27
+
28
+
29
+ @apply_modification_from_python_file(filepath_original_widget=__file__)
30
+ class OWAddColumns(widget.OWWidget):
31
+ name = "Add columns"
32
+ description = "Ajoute des colonnes choisies (OS/Python/Orange/paquets...) à une Table en entrée."
33
+ category = "AAIT - TOOLBOX"
34
+ icon = "icons/owenvinfo.png"
35
+ if "site-packages/Orange/widgets" in os.path.dirname(os.path.abspath(__file__)).replace("\\", "/"):
36
+ icon = "icons_dev/owenvinfo.png"
37
+ gui = os.path.join(os.path.dirname(os.path.abspath(__file__)), "designer/owaddcolumns.ui")
38
+ priority = 1094
39
+
40
+ want_main_area = True
41
+ want_control_area = False
42
+
43
+ class Inputs:
44
+ data = Input("Data", Orange.data.Table)
45
+
46
+ class Outputs:
47
+ data = Output("Data", Orange.data.Table)
48
+
49
+ def __init__(self):
50
+ super().__init__()
51
+
52
+ # 1) Charger ton .ui d’origine dans un enfant
53
+ self.form: QWidget = uic.loadUi(self.gui)
54
+ self.mainArea.layout().addWidget(self.form)
55
+ self.form.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
56
+ self.setMinimumSize(470, 300)
57
+
58
+ # 2) Récupérer ce que le .ui pourrait contenir
59
+ self.Description = getattr(self.form, "Description", None)
60
+ self.varsLayout: QVBoxLayout = getattr(self.form, "varsLayout", None)
61
+ self.btnSelectAll = getattr(self.form, "btnSelectAll", None)
62
+ self.btnClearAll = getattr(self.form, "btnClearAll", None)
63
+ self.btnApply = getattr(self.form, "btnApply", None)
64
+
65
+ # 3) Si la zone de sélection n'existe pas dans le .ui d’origine, on la crée
66
+ if self.varsLayout is None:
67
+ self._build_fallback_selector_panel() # crée varsLayout + boutons
68
+
69
+ # 4) Etat interne
70
+ self._var_checks: dict[str, QCheckBox] = {}
71
+ self._current_data: Orange.data.Table | None = None
72
+
73
+ # 5) Peupler et connecter
74
+ self._available_keys, _ = self._collect()
75
+ self._build_dynamic_checkboxes(self._available_keys)
76
+
77
+ if self.btnSelectAll:
78
+ self.btnSelectAll.clicked.connect(self._select_all)
79
+ if self.btnClearAll:
80
+ self.btnClearAll.clicked.connect(self._clear_all)
81
+ if self.btnApply:
82
+ self.btnApply.clicked.connect(self._apply)
83
+
84
+ # ---------- Panneau de fallback (si le .ui n'a pas de zone) ----------
85
+ def _build_fallback_selector_panel(self):
86
+ """
87
+ Construit un panneau (boutons + scroll + layout) sous le .ui d’origine,
88
+ et renseigne: self.varsLayout, self.btnSelectAll, self.btnClearAll, self.btnApply.
89
+ """
90
+ panel = QWidget(self)
91
+ panel.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
92
+ vroot = QVBoxLayout(panel)
93
+ vroot.setContentsMargins(12, 12, 12, 12)
94
+ vroot.setSpacing(8)
95
+
96
+ # Ligne de boutons
97
+ h = QHBoxLayout()
98
+ self.btnSelectAll = QPushButton("Tout cocher", panel)
99
+ self.btnClearAll = QPushButton("Tout décocher", panel)
100
+ h.addWidget(self.btnSelectAll)
101
+ h.addWidget(self.btnClearAll)
102
+ h.addStretch(1)
103
+ self.btnApply = QPushButton("Appliquer", panel)
104
+ h.addWidget(self.btnApply)
105
+ vroot.addLayout(h)
106
+
107
+ # Scroll + conteneur de cases à cocher
108
+ scroll = QScrollArea(panel)
109
+ scroll.setWidgetResizable(True)
110
+ scroll.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
111
+
112
+ inner = QWidget(scroll)
113
+ inner.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
114
+ self.varsLayout = QVBoxLayout(inner)
115
+ self.varsLayout.setContentsMargins(6, 6, 6, 6)
116
+ self.varsLayout.setSpacing(6)
117
+ scroll.setWidget(inner)
118
+
119
+ vroot.addWidget(scroll)
120
+
121
+ # Ajouter ce panneau APRÈS le .ui d’origine
122
+ self.mainArea.layout().addWidget(panel)
123
+
124
+ # ---------- Collecte ----------
125
+ @staticmethod
126
+ def _safe_version(pkg: str):
127
+ try:
128
+ return importlib_metadata.version(pkg)
129
+ except Exception:
130
+ return None
131
+
132
+ def _collect(self):
133
+ keys = [
134
+ "OS", "Machine", "Processor",
135
+ "Python Version", "Python Executable", "Orange3",
136
+ "Time"
137
+ ]
138
+ vals = [
139
+ platform.platform(),
140
+ platform.machine(),
141
+ platform.processor() or platform.machine(),
142
+ sys.version.replace("\n", " "),
143
+ sys.executable,
144
+ getattr(Orange, "__version__", "unknown"),
145
+ datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
146
+ ]
147
+
148
+ notable = ["aait", "io4it", "hlit"]
149
+ for pkg in notable:
150
+ ver = self._safe_version(pkg)
151
+ if ver:
152
+ keys.append(pkg)
153
+ vals.append(ver)
154
+ return keys, vals
155
+
156
+ # ---------- Cases à cocher dynamiques ----------
157
+ def _build_dynamic_checkboxes(self, keys):
158
+ if not self.varsLayout:
159
+ return # sécurité (ne devrait plus arriver)
160
+
161
+ # Nettoyer
162
+ while self.varsLayout.count():
163
+ item = self.varsLayout.takeAt(0)
164
+ w = item.widget()
165
+ if w:
166
+ w.setParent(None)
167
+
168
+ self._var_checks.clear()
169
+ for k in keys:
170
+ cb = QCheckBox(k)
171
+ cb.setChecked(True)
172
+ self.varsLayout.addWidget(cb)
173
+ self._var_checks[k] = cb
174
+
175
+ self.varsLayout.addStretch(1)
176
+
177
+ # ---------- Slots ----------
178
+ def _select_all(self):
179
+ for cb in self._var_checks.values():
180
+ cb.setChecked(True)
181
+
182
+ def _clear_all(self):
183
+ for cb in self._var_checks.values():
184
+ cb.setChecked(False)
185
+
186
+ # ---------- Entrée ----------
187
+ @Inputs.data
188
+ def set_data(self, data: Orange.data.Table | None):
189
+ self._current_data = data
190
+ self._apply()
191
+
192
+ # ---------- Application ----------
193
+ def _apply(self):
194
+ data = self._current_data
195
+ if data is None:
196
+ self.Outputs.data.send(None)
197
+ return
198
+
199
+ keys, vals = self._collect()
200
+ kv = dict(zip(keys, vals))
201
+ selected_keys = [k for k, cb in self._var_checks.items() if cb.isChecked() and k in kv]
202
+
203
+ if not selected_keys:
204
+ self.Outputs.data.send(data)
205
+ return
206
+
207
+ existing_meta_vars = list(data.domain.metas)
208
+ new_meta_vars = [Orange.data.StringVariable.make(k) for k in selected_keys]
209
+
210
+ new_domain = Orange.data.Domain(
211
+ attributes=list(data.domain.attributes),
212
+ class_vars=list(data.domain.class_vars),
213
+ metas=existing_meta_vars + new_meta_vars,
214
+ )
215
+
216
+ n = len(data)
217
+ left = data.metas if (data.metas is not None and data.metas.size) else np.empty((n, len(existing_meta_vars)), dtype=object)
218
+ right = np.empty((n, len(new_meta_vars)), dtype=object)
219
+ for j, k in enumerate(selected_keys):
220
+ right[:, j] = kv.get(k, "")
221
+
222
+ metas = np.hstack([left, right]) if left.size else right
223
+
224
+ out = Orange.data.Table(new_domain, data.X, data.Y, metas=metas, W=data.W)
225
+ out.name = data.name or "Data with added columns"
226
+ self.Outputs.data.send(out)
227
+
228
+
229
+ if __name__ == "__main__":
230
+ app = QApplication(sys.argv)
231
+ w = OWAddColumns()
232
+ w.show()
233
+ if hasattr(app, "exec"):
234
+ app.exec()
235
+ else:
236
+ app.exec_()
@@ -230,4 +230,7 @@ if __name__ == "__main__":
230
230
  app = QApplication(sys.argv)
231
231
  obj = OWEditTable()
232
232
  obj.show()
233
- app.exec_()
233
+ if hasattr(app, "exec"):
234
+ app.exec()
235
+ else:
236
+ app.exec_()
@@ -153,4 +153,8 @@ if __name__ == "__main__":
153
153
  app = QApplication(sys.argv)
154
154
  obj = EndLoopWidget()
155
155
  obj.show()
156
- app.exec_()
156
+ if hasattr(app, "exec"):
157
+ app.exec()
158
+ else:
159
+ app.exec_()
160
+
@@ -0,0 +1,110 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="windowTitle">
6
+ <string>Add columns</string>
7
+ </property>
8
+ <property name="minimumSize">
9
+ <size>
10
+ <width>470</width>
11
+ <height>360</height>
12
+ </size>
13
+ </property>
14
+
15
+ <layout class="QVBoxLayout" name="verticalLayoutRoot">
16
+ <!-- Description -->
17
+ <item>
18
+ <widget class="QLabel" name="Description">
19
+ <property name="text">
20
+ <string>Select the variables to add as meta columns to the input table.</string>
21
+ </property>
22
+ <property name="wordWrap">
23
+ <bool>true</bool>
24
+ </property>
25
+ </widget>
26
+ </item>
27
+
28
+ <!-- Buttons row -->
29
+ <item>
30
+ <layout class="QHBoxLayout" name="buttonRow">
31
+ <item>
32
+ <widget class="QPushButton" name="btnSelectAll">
33
+ <property name="text">
34
+ <string>Select all</string>
35
+ </property>
36
+ </widget>
37
+ </item>
38
+ <item>
39
+ <widget class="QPushButton" name="btnClearAll">
40
+ <property name="text">
41
+ <string>Clear all</string>
42
+ </property>
43
+ </widget>
44
+ </item>
45
+ <item>
46
+ <spacer name="horizontalSpacer">
47
+ <property name="orientation">
48
+ <enum>Qt::Horizontal</enum>
49
+ </property>
50
+ <property name="sizeHint" stdset="0">
51
+ <size>
52
+ <width>40</width>
53
+ <height>20</height>
54
+ </size>
55
+ </property>
56
+ </spacer>
57
+ </item>
58
+ <item>
59
+ <widget class="QPushButton" name="btnApply">
60
+ <property name="text">
61
+ <string>Apply</string>
62
+ </property>
63
+ </widget>
64
+ </item>
65
+ </layout>
66
+ </item>
67
+
68
+ <!-- Scrollable area for checkboxes -->
69
+ <item>
70
+ <widget class="QScrollArea" name="varsScroll">
71
+ <property name="widgetResizable">
72
+ <bool>true</bool>
73
+ </property>
74
+ <widget class="QWidget" name="varsContainer">
75
+ <layout class="QVBoxLayout" name="varsLayout">
76
+ <!-- Checkboxes are added dynamically here -->
77
+ <item>
78
+ <spacer name="verticalSpacer">
79
+ <property name="orientation">
80
+ <enum>Qt::Vertical</enum>
81
+ </property>
82
+ <property name="sizeHint" stdset="0">
83
+ <size>
84
+ <width>20</width>
85
+ <height>40</height>
86
+ </size>
87
+ </property>
88
+ </spacer>
89
+ </item>
90
+ </layout>
91
+ </widget>
92
+ </widget>
93
+ </item>
94
+
95
+ <!-- Footer -->
96
+ <item>
97
+ <widget class="QLabel" name="footer">
98
+ <property name="text">
99
+ <string>Note: the added columns are metas (text) with the same value for all rows.</string>
100
+ </property>
101
+ <property name="wordWrap">
102
+ <bool>true</bool>
103
+ </property>
104
+ </widget>
105
+ </item>
106
+ </layout>
107
+ </widget>
108
+ <resources/>
109
+ <connections/>
110
+ </ui>
@@ -0,0 +1,42 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>394</width>
10
+ <height>238</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Form</string>
15
+ </property>
16
+ <widget class="QCheckBox" name="checkBox">
17
+ <property name="geometry">
18
+ <rect>
19
+ <x>30</x>
20
+ <y>80</y>
21
+ <width>365</width>
22
+ <height>31</height>
23
+ </rect>
24
+ </property>
25
+ <property name="text">
26
+ <string>Enable search on directory and sub-directories</string>
27
+ </property>
28
+ </widget>
29
+ <widget class="QLineEdit" name="lineEdit">
30
+ <property name="geometry">
31
+ <rect>
32
+ <x>30</x>
33
+ <y>130</y>
34
+ <width>361</width>
35
+ <height>21</height>
36
+ </rect>
37
+ </property>
38
+ </widget>
39
+ </widget>
40
+ <resources/>
41
+ <connections/>
42
+ </ui>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>286</width>
10
+ <height>111</height>
11
+ </rect>
12
+ </property>
13
+ <property name="windowTitle">
14
+ <string>Form</string>
15
+ </property>
16
+ <widget class="QLabel" name="label">
17
+ <property name="geometry">
18
+ <rect>
19
+ <x>10</x>
20
+ <y>56</y>
21
+ <width>271</width>
22
+ <height>20</height>
23
+ </rect>
24
+ </property>
25
+ <property name="text">
26
+ <string>Unzip folder from path or list of paths</string>
27
+ </property>
28
+ </widget>
29
+ </widget>
30
+ <resources/>
31
+ <connections/>
32
+ </ui>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
5
+ width="800px" height="800px" viewBox="0 0 45 45" xml:space="preserve">
6
+ <g>
7
+ <path d="M26.083,7.417c0,0.69-0.56,1.25-1.25,1.25H9.917c-0.69,0-1.25-0.56-1.25-1.25s0.56-1.25,1.25-1.25h14.916
8
+ C25.523,6.167,26.083,6.727,26.083,7.417z M24.833,11.25H9.917c-0.69,0-1.25,0.56-1.25,1.25s0.56,1.25,1.25,1.25h14.916
9
+ c0.69,0,1.25-0.56,1.25-1.25S25.523,11.25,24.833,11.25z M44.939,18.667l-5,22.5c-0.254,1.144-1.27,1.958-2.439,1.958h-5h-25h-5
10
+ c-1.381,0-2.5-1.119-2.5-2.5v-30c0-1.381,1.119-2.5,2.5-2.5h1.25v-5c0-0.69,0.559-1.25,1.25-1.25h25c0.689,0,1.25,0.56,1.25,1.25v5
11
+ h1.25c1.381,0,2.5,1.119,2.5,2.5v2.5h2.5c1.381,0,2.5,1.119,2.5,2.5h2.5c0.758,0,1.477,0.344,1.949,0.936
12
+ C44.924,17.152,45.105,17.927,44.939,18.667z M3.75,10.625H2.5v30h1.25V10.625z M31.25,13.125h1.25v-2.5h-1.25V13.125z
13
+ M12.5,15.625h15c0-1.381,1.119-2.5,2.5-2.5v-10H5v37.5h0.002c0-0.182,5.057-23.042,5.057-23.042
14
+ C10.313,16.439,11.329,15.625,12.5,15.625z M34.445,36.346L30.5,33.125c-0.344-0.28-0.771-0.378-1.178-0.316l-0.459-0.375
15
+ c0.951-1.438,1.377-3.146,1.201-4.885c-0.201-1.992-1.166-3.789-2.717-5.056c-1.338-1.09-3.021-1.691-4.743-1.691
16
+ c-2.263,0-4.381,1.004-5.813,2.757c-2.615,3.202-2.137,7.938,1.066,10.553c1.335,1.092,3.019,1.691,4.74,1.691
17
+ c1.843,0,3.582-0.675,4.939-1.867l0.52,0.422c0.021,0.41,0.2,0.812,0.545,1.092l3.942,3.221c0.279,0.229,0.615,0.338,0.948,0.338
18
+ c0.436,0,0.865-0.188,1.162-0.551C35.184,37.814,35.086,36.87,34.445,36.346z M25.768,24.43c-0.931-0.758-2.05-1.127-3.161-1.127
19
+ c-1.449,0-2.887,0.627-3.875,1.838c-1.747,2.14-1.429,5.289,0.71,7.035c0.929,0.758,2.048,1.127,3.159,1.127
20
+ c1.448,0,2.887-0.627,3.875-1.838C28.225,29.326,27.904,26.177,25.768,24.43z"/>
21
+ </g>
22
+ </svg>
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
+ <svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
4
+ viewBox="0 0 48 48" xml:space="preserve">
5
+ <g>
6
+ <g>
7
+ <path d="M47.987,21.938c-0.006-0.091-0.023-0.178-0.053-0.264c-0.011-0.032-0.019-0.063-0.033-0.094
8
+ c-0.048-0.104-0.109-0.202-0.193-0.285c-0.001-0.001-0.001-0.001-0.001-0.001L42,15.586V10c0-0.022-0.011-0.041-0.013-0.063
9
+ c-0.006-0.088-0.023-0.173-0.051-0.257c-0.011-0.032-0.019-0.063-0.034-0.094c-0.049-0.106-0.11-0.207-0.196-0.293l-9-9
10
+ c-0.086-0.086-0.187-0.148-0.294-0.196c-0.03-0.014-0.06-0.022-0.091-0.032c-0.085-0.03-0.172-0.047-0.263-0.052
11
+ C32.039,0.01,32.021,0,32,0H7C6.448,0,6,0.448,6,1v14.586l-5.707,5.707c0,0-0.001,0.001-0.002,0.002
12
+ c-0.084,0.084-0.144,0.182-0.192,0.285c-0.014,0.031-0.022,0.062-0.033,0.094c-0.03,0.086-0.048,0.173-0.053,0.264
13
+ C0.011,21.96,0,21.978,0,22v19c0,0.552,0.448,1,1,1h5v5c0,0.552,0.448,1,1,1h34c0.552,0,1-0.448,1-1v-5h5c0.552,0,1-0.448,1-1V22
14
+ C48,21.978,47.989,21.96,47.987,21.938z M44.586,21H42v-2.586L44.586,21z M38.586,9H33V3.414L38.586,9z M8,2h23v8
15
+ c0,0.552,0.448,1,1,1h8v5v5H8v-5V2z M6,18.414V21H3.414L6,18.414z M40,46H8v-4h32V46z M46,40H2V23h5h34h5V40z"/>
16
+ <polygon points="14.582,27.766 18.356,27.766 14.31,36.317 14.31,38 20.6,38 20.6,36.164 16.571,36.164 20.6,27.613 20.6,25.964
17
+ 14.582,25.964 "/>
18
+ <rect x="22.436" y="25.964" width="2.04" height="12.036"/>
19
+ <path d="M32.542,26.72c-0.323-0.277-0.688-0.473-1.097-0.586c-0.408-0.113-0.805-0.17-1.19-0.17h-3.332V38h2.006v-4.828h1.428
20
+ c0.419,0,0.827-0.074,1.224-0.221c0.397-0.147,0.748-0.374,1.054-0.68c0.306-0.306,0.553-0.688,0.739-1.148
21
+ c0.187-0.459,0.28-0.994,0.28-1.606c0-0.68-0.105-1.247-0.314-1.7C33.132,27.364,32.866,26.998,32.542,26.72z M31.259,31.005
22
+ c-0.306,0.334-0.697,0.501-1.173,0.501H28.93v-3.825h1.156c0.476,0,0.867,0.147,1.173,0.442c0.306,0.295,0.459,0.765,0.459,1.411
23
+ C31.718,30.18,31.565,30.67,31.259,31.005z"/>
24
+ </g>
25
+ </g>
26
+ </svg>
@@ -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.18" # la version doit être supérieure à la précédente sinon la publication sera refusée
7
+ VERSION = "2.0.2.20" # 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"
aait-2.0.2.18/License.txt DELETED
@@ -1,6 +0,0 @@
1
- THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY WHATSOEVER.
2
-
3
- If you use or redistribute this software, you are permitted to do so
4
- under the terms of GNU [GPL-3.0]+ license.
5
-
6
- [GPL-3.0]: https://www.gnu.org/licenses/gpl-3.0.en.html
aait-2.0.2.18/PKG-INFO DELETED
@@ -1,9 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: aait
3
- Version: 2.0.2.18
4
- Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
- Home-page:
6
- Author: Orange community
7
- Author-email:
8
- Keywords: orange3 add-on
9
- License-File: License.txt
@@ -1,9 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: aait
3
- Version: 2.0.2.18
4
- Summary: Advanced Artificial Intelligence Tools is a package meant to develop and enable advanced AI functionalities in Orange
5
- Home-page:
6
- Author: Orange community
7
- Author-email:
8
- Keywords: orange3 add-on
9
- License-File: License.txt