scipion-pyworkflow 3.5.0__tar.gz → 3.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. scipion_pyworkflow-3.7.0/CHANGES.txt +392 -0
  2. scipion_pyworkflow-3.7.0/MANIFEST.in +6 -0
  3. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/PKG-INFO +40 -17
  4. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/README.rst +26 -4
  5. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_protocol_list.py +15 -24
  6. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/config.py +191 -151
  7. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/constants.py +5 -2
  8. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/browser.py +12 -6
  9. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/canvas.py +40 -16
  10. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/dialog.py +86 -90
  11. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/form.py +25 -16
  12. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/graph_layout.py +29 -37
  13. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/gui.py +21 -21
  14. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/matplotlib_image.py +19 -6
  15. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/plotter.py +1 -1
  16. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/base.py +4 -1
  17. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/constants.py +3 -1
  18. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/labels.py +4 -2
  19. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/project.py +8 -27
  20. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/searchprotocol.py +5 -4
  21. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/searchrun.py +25 -9
  22. scipion_pyworkflow-3.7.0/pyworkflow/gui/project/variables.py +179 -0
  23. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/viewdata.py +9 -10
  24. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/viewprojects.py +3 -5
  25. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/viewprotocols.py +88 -68
  26. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/viewprotocols_extra.py +1 -2
  27. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/text.py +4 -2
  28. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/tree.py +3 -1
  29. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/mapper/__init__.py +0 -1
  30. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/mapper/mapper.py +7 -6
  31. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/mapper/sqlite.py +112 -27
  32. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/object.py +16 -6
  33. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/plugin.py +30 -53
  34. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/project.py +54 -15
  35. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/config.py +1 -1
  36. scipion_pyworkflow-3.7.0/pyworkflow/project/scripts/fix_links.py +39 -0
  37. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/refresh.py +3 -4
  38. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/stack2volume.py +1 -1
  39. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/stop.py +2 -2
  40. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/executor.py +8 -38
  41. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/launch.py +36 -4
  42. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/params.py +1 -1
  43. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/protocol.py +34 -10
  44. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/template.py +115 -73
  45. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/path.py +26 -0
  46. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/process.py +4 -4
  47. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/progressbar.py +14 -3
  48. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/properties.py +4 -4
  49. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/utils.py +28 -17
  50. scipion_pyworkflow-3.7.0/pyworkflow/webservices/workflowhub.py +74 -0
  51. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/objects.py +6 -0
  52. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/protocols.py +5 -3
  53. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_mappers.py +22 -30
  54. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_object.py +26 -21
  55. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_utils.py +2 -38
  56. scipion_pyworkflow-3.7.0/requirements.txt +12 -0
  57. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/scipion_pyworkflow.egg-info/PKG-INFO +40 -17
  58. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/scipion_pyworkflow.egg-info/SOURCES.txt +3 -1
  59. scipion_pyworkflow-3.7.0/scipion_pyworkflow.egg-info/dependency_links.txt +1 -0
  60. scipion_pyworkflow-3.7.0/scipion_pyworkflow.egg-info/requires.txt +18 -0
  61. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/setup.py +3 -3
  62. scipion-pyworkflow-3.5.0/MANIFEST.in +0 -12
  63. scipion-pyworkflow-3.5.0/pyworkflow/mapper/xmlmapper.py +0 -264
  64. scipion-pyworkflow-3.5.0/pyworkflow/project/scripts/fix_links.py +0 -43
  65. scipion-pyworkflow-3.5.0/requirements.txt +0 -11
  66. scipion-pyworkflow-3.5.0/scipion_pyworkflow.egg-info/dependency_links.txt +0 -1
  67. scipion-pyworkflow-3.5.0/scipion_pyworkflow.egg-info/requires.txt +0 -15
  68. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/LICENSE.txt +0 -0
  69. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/__init__.py +0 -0
  70. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/__init__.py +0 -0
  71. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_manager.py +0 -0
  72. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_plot.py +0 -0
  73. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_project.py +0 -0
  74. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_protocol_run.py +0 -0
  75. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_run_tests.py +0 -0
  76. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_schedule_run.py +0 -0
  77. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_sleep.py +0 -0
  78. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_sync_data.py +0 -0
  79. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/apps/pw_viewer.py +0 -0
  80. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/exceptions.py +0 -0
  81. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/__init__.py +0 -0
  82. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/graph.py +0 -0
  83. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/__init__.py +0 -0
  84. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/steps.py +0 -0
  85. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/project/utils.py +0 -0
  86. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/tooltip.py +0 -0
  87. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/gui/widgets.py +0 -0
  88. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/mapper/sqlite_db.py +0 -0
  89. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/__init__.py +0 -0
  90. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/config.py +0 -0
  91. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/manager.py +0 -0
  92. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/clean_projects.py +0 -0
  93. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/create.py +0 -0
  94. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/edit_workflow.py +0 -0
  95. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/load.py +0 -0
  96. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/project/scripts/schedule.py +1 -1
  97. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/__init__.py +0 -0
  98. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/bibtex.py +0 -0
  99. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/constants.py +0 -0
  100. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/hosts.py +0 -0
  101. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/protocol/package.py +0 -0
  102. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/Imagej.png +0 -0
  103. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/chimera.png +0 -0
  104. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/fa-exclamation-triangle_alert.png +0 -0
  105. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/fa-info-circle_alert.png +0 -0
  106. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/fa-search.png +0 -0
  107. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/fa-times-circle_alert.png +0 -0
  108. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/file_vol.png +0 -0
  109. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/loading.gif +0 -0
  110. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/no-image128.png +0 -0
  111. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_bn.png +0 -0
  112. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_icon.png +0 -0
  113. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_icon.svg +0 -0
  114. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_icon_proj.png +0 -0
  115. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_icon_projs.png +0 -0
  116. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_icon_prot.png +0 -0
  117. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_logo.png +0 -0
  118. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_logo_normal.png +0 -0
  119. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/scipion_logo_small.png +0 -0
  120. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/arrowDown.png +0 -0
  121. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/arrowUp.png +0 -0
  122. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/background_section.png +0 -0
  123. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/colRowModeOff.png +0 -0
  124. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/colRowModeOn.png +0 -0
  125. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/delete.png +0 -0
  126. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/doc_icon.png +0 -0
  127. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/download_icon.png +0 -0
  128. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/enabled_gallery.png +0 -0
  129. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/galleryViewOff.png +0 -0
  130. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/galleryViewOn.png +0 -0
  131. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/goto.png +0 -0
  132. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/menu.png +0 -0
  133. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/separator.png +0 -0
  134. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/tableViewOff.png +0 -0
  135. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/tableViewOn.png +0 -0
  136. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  137. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  138. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  139. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/volumeOff.png +0 -0
  140. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/showj/volumeOn.png +0 -0
  141. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/sprites.png +0 -0
  142. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/sprites.xcf +0 -0
  143. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/resources/wait.gif +0 -0
  144. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/tests/__init__.py +0 -0
  145. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/tests/test_utils.py +0 -0
  146. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/tests/tests.py +0 -0
  147. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/__init__.py +0 -0
  148. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/dataset.py +0 -0
  149. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/echo.py +0 -0
  150. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/graph.py +0 -0
  151. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/log.py +0 -0
  152. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/profiler.py +0 -0
  153. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/reflection.py +0 -0
  154. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/utils/which.py +0 -0
  155. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/viewer.py +0 -0
  156. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/webservices/__init__.py +0 -0
  157. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/webservices/config.py +0 -0
  158. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/webservices/notifier.py +0 -0
  159. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/webservices/repository.py +0 -0
  160. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflow/wizard.py +0 -0
  161. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/__init__.py +0 -0
  162. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/bibtex.py +0 -0
  163. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/__init__.py +0 -0
  164. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_canvas.py +0 -0
  165. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_domain.py +0 -0
  166. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_logs.py +0 -0
  167. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_project.py +0 -0
  168. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_protocol_execution.py +0 -0
  169. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_protocol_export.py +0 -0
  170. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_protocol_output.py +0 -0
  171. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/pyworkflowtests/tests/test_streaming.py +0 -0
  172. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/scipion_pyworkflow.egg-info/entry_points.txt +0 -0
  173. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/scipion_pyworkflow.egg-info/top_level.txt +0 -0
  174. {scipion-pyworkflow-3.5.0 → scipion_pyworkflow-3.7.0}/setup.cfg +0 -0
@@ -0,0 +1,392 @@
1
+ V3.7.0
2
+ users:
3
+ - Add protocol is an icon.
4
+ - Right clik on canvas offers to add a protocol on the clicked location.
5
+ - Scipion log is a project.log (only for project events)
6
+ - Variables window saves non default variables changed (bug)
7
+ - Queue interoperability review:
8
+ - jobs cancelled in the queue are detected in scipion
9
+ - job and pids handling improved, pids = 0 when use queue for protocol rely on jobid
10
+ - Change Protocols Lock to Rlocks objects to avoid concurrency when updating the protocols jobid
11
+ - add information in the protocol log regarding execution type (pid or jobid)f
12
+ - Streaming protocols based on new streaming (generation steps) are resumable
13
+ - Avoiding a double process when launching a workflow using the protocol form
14
+ - pyworkflowtest tests fixed
15
+ - GUI will detect when protocols processes have been killed(cancelled) in all cases?
16
+ - fix outdated pyworkflow scripts
17
+ - scipion3 template (template manager) lists workflows at workflowhub.eu from "Scipion CNB" organization
18
+ - Join heterogeneous sets are possible for tomography objects TS and tomograms.
19
+ developers:
20
+ - Canvas has a testing method: _drawGrid to draw a grid on the canvas (unused now)
21
+ - String.toSeconds:converts to seconds any "duration" string like "1h 4m 34s" -> 3600 + 240 + 34.
22
+ - ListDialog has a refresh method to refresh the content taking into account the filter
23
+ - Improve the DDBB lock in the method "_store". If Protocol._lock is locked, a nullcontext is used instead of another
24
+ Protocol._lock context, which causes a permanent lock.
25
+ - XmlMapper removed.
26
+ - FlatMapper instanatiation centralized:
27
+ New variable: SCIPION_MAPPER_USE_TEMPLATE. By default uses the template as it was now. If deacivated, instantiation happens on each iteration (less performant) but dev friendly
28
+ - Adding a parameter to launch jobs (e.g: bash)
29
+ - Handling item-click event in the treeview dialog
30
+
31
+ V3.6.0
32
+ users:
33
+ - Window to see/edit config variables. Launched from Project menu in project window.
34
+ - Fix installation error: matplotlib imported at installation time
35
+ - Fixing an error drawing the graph
36
+ developers:
37
+ - FileBrowser window tweaks: Can be called from a dialog.
38
+ - Windows can be called as dialogs with show(modal=True)
39
+ - askPath: Method to ask for a path (PATH, FOLDER or BASENAME)
40
+ - backup: Method in pyworkflow.utils.path to backup files
41
+ - All variables are centralized and Plugin._defineVar or _defineEmVar accept variable description, and type (VarTypes enum) to better describe the variable.
42
+ - ProgressBar handles the step in combination with increase method call
43
+ - Set.aggregate more flexible and versatile.
44
+ Accepts strings or lists in operations, labels or groupby args.
45
+ Accepts id or _objId ar fields
46
+ - String.getListFromValues: works now with strings with an x inside (e.g.: _x _y)
47
+ - New utils method: valueToList (converts the argument into a list if is not a list): Useful for "dual type arguments) that can be a list or not
48
+
49
+ V3.5.0
50
+ ------
51
+ users:
52
+ - New Icons.
53
+ - Icons based on sprites, easier to resize or customized
54
+ - New variable: SCIPION_SPRITES_FILE to point to a custom sprite. It should be compatible with sprites.png at pyworkflow/resources.
55
+ - Scipion GUI log moved to the log tabs and removed from menu
56
+ - New variable: SCIPION_SHOW_TEXT_IN_TOOLBAR, set it to anything to show the text of the icons below
57
+ - New variable: SCIPION_ICON_ZOOM, defaults to 50 (percent) to show icons at 16x16. 100 will set them to 32 or 75 to 24.
58
+ - Icons in toolbar grouped. Better row height adjustment in trees.
59
+ - Improved handling of the case where protocols steps are send to the queue, fix stop protocol functionality
60
+ developers:
61
+ - ProjectConfig class removed
62
+ - New methods in path: hasChangedSince and isFileFinished
63
+ - New method in utils: strToDuration (useful to translate "1h 35m" to seconds). For duration parameters.
64
+ - New class Variable to be tested in Config class. A step towards a Config editing GUI.
65
+ - SCIPION_DEBUG_SQLITE rescued to activate SQL clauses in debug.
66
+ - Active jobs are stored in the 'jobIds' protocol variable. Iteration through these job IDs allows for canceling each active job sent to the queue.
67
+ - Implemented cleaning of old protocol job IDs and PIDs.
68
+ - Extending the ToolbarDialog buttons. Now is possible to define a tooltip and a shortcut
69
+ - Viewers has getName class method.
70
+ - Object.getClassName is now a class method
71
+ - Validating the Close method in the Dialog class. Now we can to reimplement de validateClose method.
72
+ - Better case-specific implementation of pID and jobID. Three scenarios: normal execution, sending the entire protocol to the queue, or sending individual steps.
73
+ - Object.clone a copy optionally clones the enable flag
74
+ - Set.getItem: returns the first item with a value in the fields passed. Useful for querying by TsId in tomo.
75
+ - Correctly update the protocols in streaming workflows when the input pointer points to a protocol, the protocol points to a set (i.e., classes), and this set points to another set (i.e., particles).
76
+
77
+ V3.4.0
78
+ ------
79
+ users:
80
+ - Prevent cyclic loops in protocols. Cannot chose as input, as output that is derived or will be derived from the current protocol.
81
+ - Tolerate cyclic loops saved projects projects, disconnecting the "problematic" protocol.
82
+ developers:
83
+ - Dialog class: add lockGui input to allow the viewers to prevent getting the screen focus if desired.
84
+
85
+ V3.3.1
86
+ ------
87
+ users:
88
+ - Steps window can force finish steps too. Useful for some CS cases.
89
+ - "Continue workflow" from improved. Works with more cases.
90
+ - Fix output deletion when right-clicking on an output compatible with this option.
91
+ developers:
92
+ - Set class has isItemEnabled to be used as callback based on item.isEnabled()
93
+ - config.py.OS class (not for GUI): to return distro info (isCentos or isUbuntu) or isWSL (--> new dependency "distro")"...
94
+
95
+ V3.3.0
96
+ ------
97
+ users:
98
+ - Boxes from Plugins in devel mode are prefixed with * now (not delta anymore)
99
+ - Partial exporting/copying will carry also the input of those protocols not being exported
100
+ - Partial importing/pasting will be linked to existing protocols in the project with the same id.
101
+ - Fix: Scheduling failed with direct pointers (impossible to get form GUI but programming or tests)
102
+ - tests: possible to use " tomo." (e.g.) to test just a plugin. Unfortunately needs adaptation in the launcher
103
+ - "Return" keypress "clicks" the active button in a window
104
+ - Avoid adding the same viewer twice
105
+
106
+ developers:
107
+ - Control and Shift keypress are captured when clicking in analyze result button and passed to the viewer.
108
+ - Project.getProtocol() has a fromRuns mode to prevent going to the db. Used in a couple of calls.(performance)
109
+ - Plotter.createSubPlot: allow plots without axis passing xlabel and ylabel as None
110
+ - Tolerate type change in attributes in protocol execution processes.
111
+ - Fixing an error when loading a project where it is not possible to retrieve the current version of an installed plugin
112
+
113
+ V3.2.0
114
+ ------
115
+ users:
116
+ - Templates validate booleans properly (false, true, 0 or 1)
117
+ - Labels and box positions are saved after Labels being edited.
118
+ - scipion3 project list (or without list) should list existing projects.
119
+ - Windows are grouped by project under the project name.
120
+ - Do not allow empty Config variables unless is the default value
121
+ - SCIPION_MAIN_COLOR: If not valid, fallsback to Firebrick
122
+ - Project names: Only accepts digits, "letters", - or _. Rest are turned into -
123
+ - Fix wrong PARALLEL_COMMAND in hosts.conf created during tests.
124
+ - SCIPION_USE_QUEUE: New variable (default=False). If defined to anything else than False, new protocols will be sent to queue by default.
125
+
126
+ developers:
127
+ - Tolerate loading of extra set properties but WARN the developer.
128
+ - ListDialog: allows for a preview panel on the right if previewCallback is passed.
129
+ - SQL DEBUG deprecated: active when regular debug is on.
130
+ - Boolean Config variables refactored to be "reversible".
131
+ - Show info id debug mode (print) when an infinite loop happens in the protocols graph
132
+ V3.1.1
133
+ ------
134
+ - Hotfix: Fix resume single. Protocol was reset.
135
+
136
+ V3.1.0
137
+ ------
138
+ users:
139
+ - New optional config variable: SCIPION_MAIN_COLOR. Any medium tone color name or hexadecimal should work(like in CSS)
140
+ - New optional config variable: SCIPION_BG_COLOR. Any light tone color name or hexadecimal should work(like in CSS)
141
+ - Control + Plus (numpad) will increase the font of the logs. Control + subtract will restore it.
142
+ - Toolbar and actions refactored: Most of them have shortcuts and appear in the toolbar without text, but have tooltips showing the shortcut
143
+ - Plugins in devel mode are shown with a delta suffix after the package name.
144
+ - Green lines in log are lighter, colored lines are back in the log.
145
+ - Commands in the log are "announced" by "** Running command: **"
146
+ - Project list window: F5 on the filter box will refresh the list.
147
+ - Project list window: Auto refresh on window activate when data is older than 60 seconds
148
+ - New actions: Copy (Control+c) and Paste (Control +v) will allow to copy the selection to and from the clipboard.
149
+ - File browser thumbnail: Writes if the file is a link
150
+ - Protocol in devel mode is shown prefixing the protocol in the box and shown in log
151
+ - Unused graphical gui nodes are cleaned up upon protocols deletion and graph painting (to clean up old projects)
152
+ - Error in host.conf for clusters better described.
153
+ - Fixed a bug related to organizing the workflow when importing a template(Import workflow template option)
154
+ - Terminal where Scipion is being launched only shows ERROR level info. Rest goes to scipion.log shown by the Scipion log menu.
155
+ - Scipion windows of the same process are now grouped under the same icon. Window Tooltip says Scipion framework instead of Toplevel
156
+ - Refactoring Restart & Continue workflow option. Allowing to continue and restart a workflow from a protocol
157
+
158
+
159
+ developers:
160
+ - Plugin.inDevelMode(): returns true is plugin installed in devel mode.
161
+ - Shortcut for devel mode is now Control+D since Control+d is for duplicate (old copy)
162
+ - Protocol.getClassPlugin deprecated. Use instead getPlugin()
163
+ - Protocol._cleanExtraFiles(): optional method to clean files other than tmp folder.
164
+ - Config.isScipionRunning(): To distinguish from just importing or running.
165
+ - Set implements copy() leaving mapper_path out.
166
+ - TaseCase: compareSetProperties() added to compare 2 set's properties.
167
+ - Add debugging messages to check the job status and add renameGpuIds method in the StepQueueExecutor
168
+
169
+ V3.0.32
170
+ -------
171
+ - Hotfix: fix links more versatile.
172
+ V3.0.31
173
+ -------
174
+ - Hotfix: Fixed updated protocol icon
175
+
176
+ V3.0.30
177
+ -------
178
+ users:
179
+ - File browser: error while getting the preview thumbnail are reported as the preview string and logged.
180
+ - Wrong status when updating: When scheduling protocols, they were wrongly showed as failure temporarily.
181
+
182
+
183
+ developers:
184
+ - Using logger in executor.py
185
+ - Fix: --overwrite problem. CONDA_ACTIVATION_CMD was disappearing form the config
186
+ - Fix: plugin manager error. wait.png renamed to wait.gif
187
+ - Improvement: Tolerate protocol loading when attribute type is changed by developers.
188
+ - CONDA_ACTIVATION_CMD is now a Config variable.
189
+ - Flag to indicate if steps list has new steps. Useful for new streaming approach.
190
+ - Base streaming protocol: ProtStreamingBase.
191
+
192
+ V3.0.29
193
+ -------
194
+ users:
195
+ - Fix: with some host.conf, where current working dir is not "transferred" to the node, execution failed when
196
+ creating the logs cause they where relative. Now they (log paths) are passed to pw_protocol_run as absolute paths
197
+
198
+ V3.0.28
199
+ -------
200
+ users:
201
+ - Fix: rare error making subsets of self referencing output.
202
+ - Schedule process: Logging starts from the very beginning. Better feedback when there is an error.
203
+ - Message is shown in project's info log when discovering viewers for the firs time.
204
+ - Fix: Expert level pointers not clearer anymore after copying or deacivating expert level.
205
+ - Protocol list output improved --> scipion3 protocols --with-doc
206
+ - Scheduling: more informative log lines.
207
+ - Exporting a workflow does not show the final confirmation dialog (just a log line)
208
+ - Font size responsive in file browser text box.
209
+ developers:
210
+ - Fix: rare error when loading pointers with extended from the database
211
+ - More modules using logging: gui/project.py, mapper/sqlite.py
212
+ - Pointer.set: optional parameter to cancel extended reset. Used from mapper.
213
+ - Pyworkflow Domain now is operational. Still ED plugins needs adaptation.
214
+ - String class offers getListFromRange and getListFromValues for convenience when param any ot the Ranges
215
+ - getListFromValues, returns str list as before, but optionally you can pass a caster (int, float,..)
216
+ - GE validator: tolerates None values.
217
+ - Form.addBoolean() helper added to facilitate Boolean param definitions. TODO: Do it with the rest?
218
+ - dependencies updated
219
+ - icons changed to png 32, so transparency is understood by pillow latest version
220
+ - unused icons removed
221
+ - icon names all centralized in Icon class
222
+ - getImage: caches the images, rename gif to png.
223
+
224
+ V3.0.27
225
+ -------
226
+ Users:
227
+ - Fixing an error refreshing the workflow:
228
+ * the protocol status changed intermittently
229
+ - "Use queue?" label and help reworded and linked to documentation site
230
+ - "Wait for" label and help reworded and linked to documentation site
231
+ - Fix: New protocols, without sibilings were wrongly located at the top.
232
+
233
+
234
+ V3.0.26 (hotfix)
235
+ -------
236
+ - Reporting url is now pointing to https.
237
+
238
+ V3.0.25 (hotfix)
239
+ -------
240
+ - Fix logger error when downloading a new dataset.
241
+
242
+ V3.0.24 (hotfix)
243
+ -------
244
+ - Do not fail when getting the size of an empty protocol.
245
+
246
+ V3.0.23
247
+ -------
248
+ Users:
249
+ - Fixing a bug for static protocols: when a protocol had another protocol as input, it failed to wait until it had finished.
250
+ - Improvements in responsiveness to font size: Tables and automatic layouts. Object browser, Search windows.
251
+ - Filebrowser has 2 new shortcuts: "recent" and "Protocol folder"
252
+ - Text widget: "File does not exist message" removed.
253
+ - Rescue colors in terminal
254
+ - Rescue output in tests.
255
+ - New color mode: Size (GREEN < 1MB, ORANGE < 1GB, RED < 1TB, DARK > 1TB
256
+ - Color mode info is shown in the "info line" when switching
257
+ - Color mode age: fixed.
258
+ - New config variables:
259
+ SCIPION_LOG_FORMAT: Define log lines format base on python convention,
260
+ SCIPION_TEST_NOSYNC: Disable dataset syncing,
261
+ SCIPION_GUI_REFRESH_INITIAL_WAIT: Initial time to wait after a manual refresh. Defaults to 5.
262
+ SCIPION_GUI_CANCEL_AUTO_REFRESH: True will cancel automatic refreshes.
263
+ - scipion printenv returns also int variables.
264
+ - Tolerate project update errors (e.g.: read only filesystem due to quota + update)
265
+ - Check if scheduled process is alive when updating.
266
+
267
+ Developers:
268
+ - Some modules switched to use logger instead of print: viewprotocols.py, browser.py and launch.py,
269
+ pw_schedule_run.py, viewprojects.py, canvas.py, project.py, protocol.py.
270
+ - LoggerConfigurator adapted to received logfile, flag for console handler and line format.
271
+ - pw_run_tests.py uses logging now.
272
+ - tests mode with --log now works. All goes to the same file and is not html.
273
+ - Protocol.getPath added = Protocol._getPath
274
+ - form.py, process.py, pw_sync_data.py, utils.py use logging now.
275
+ - All logging messages are affected by SCIPION_LOG_FORMAT (defaults to %(message)).
276
+ - stdout handler does exclude ERROR and CRITICAL messages.
277
+ - Test output can be sent to a log file (--log) and uses SCIPION_LOG_FORMAT.
278
+ - testdata --check-all renamed to --check and optionally can check a single dataset.
279
+
280
+ V3.0.22
281
+ -------
282
+ - Fixing a persistent error related with the logic of the EXECUTE/SCHEDULE button
283
+
284
+
285
+ V3.0.21
286
+ -------
287
+ - Generating an interface to create the scipion log file.
288
+ - Creating an option to display the scipion log
289
+ - New "Search protocol in graph" (Control + l) window to locate a box in the graph
290
+ - At loading time, selected protocol is "focused" (window scrolls to it)
291
+ - Control + MouseWheel scrolls horizontally
292
+ - Links are also detected when they are just "http"
293
+ - Bugfixed: Input list is shown when there are possible outputs and need to "expose details" (like selecting a specific volume in a set)
294
+ - Bugfixed: Outputs that a numeric do not break the "Browse object window"
295
+ - Fixing an error related with the logic of the EXECUTE/SCHEDULE button
296
+
297
+ Developers:
298
+ - prerequisites could be just the id or the previous list of ids when adding a step.
299
+
300
+ V3.0.20
301
+ -------
302
+ - Empty sections/subsection (without protocols) in the left tree will not be shown
303
+
304
+ Developers:
305
+ - Allow pointers to be defined with a list of classes instead of a string: "SetOfParticles, SetOfAverages" or [ SetOfParticles, SetOfAverages ]
306
+ - Two "utils" functions: hasAnyFileChanged, hasFileChangedSince to check if a file/s have changed since a "time" passed.
307
+ - BaseTest now has: setupTestOutput exposed --> self.setupTestOutput()
308
+ - Allow getting an item in a set not only by id but by a query: myset["_tsId=tomo1"].
309
+
310
+
311
+ V3.0.19
312
+ -------
313
+ - Scalar parameters pointing to outputs now works also when scheduling
314
+ - Fix: outputs after a Scalar output (boxSize from pickings) weren't offered to the chosen
315
+ - Defining a new format to handler the log
316
+ - Creating in the config new constants to prevent sqlite locks when updating any set
317
+ - SCIPION_UPDATE_SET_ATTEMPTS: Number of attempts when trying a set update. The default value is 3
318
+ - SCIPION_UPDATE_SET_ATTEMPT_WAIT: Time in seconds to wait between updates. The default value is 2 seconds
319
+
320
+ Developers:
321
+ - In _showWizard, passing the paramName as a form variable so the wizard can check from which parameter it was called
322
+
323
+
324
+ V3.0.18
325
+ -------
326
+ - Fixed GUI errors:
327
+ - fixing the workflow collapse/expand nodes
328
+ - resetting nodes with manual subset looses the parent
329
+ - reporting the protocol wall time
330
+ - finished protocol can't be modified
331
+ - Fixed: execute a protocol directly that is not streaming and that has an open input must be scheduled
332
+ - Close all sets when stopping a protocol
333
+ - fixing an error closing some viewers(the action of closing some viewers closes Scipion completely)
334
+ - fixing an error drawing the protocols step tree
335
+ - fixing an error deleting a protocol by the keyboard
336
+ - logging DEBUG mode will be activated when toggling debug mode
337
+ - A dramatic plugin import error will be tolerated. Plugin will not be loaded.
338
+ - Possible outputs definition is now possible. Protocols can define possible outputs to allow designing
339
+ a workflow in advance without executing them.
340
+ - New variable added: SCIPION_STEPS_CHECK_SEC. Defaults to 3 (seconds). It represents how often new input is checked in streamified protocols. Increasing this
341
+ value will relax the stress in the system, but will feel less "alive".
342
+ - Workflow templates can now be imported into an existing project
343
+
344
+ Developers:
345
+ - Possible Outputs allowed: dict or enum definition possible, see Protocol._possibleOutput
346
+ - Allow readonly parameters in protocols. Useful in combination with wizards or just informative parameters.
347
+ - Added the variable SCIPION_PRIORITY_PACKAGE_LIST that is used in the view
348
+ protocols in order to load first the plugins that contains the main
349
+ protocols.conf sections. This variable is defined as string with the packages names separated by a space.
350
+ e.g: SCIPION_PRIORITY_PACKAGE_LIST = "pwem tomo cistem"
351
+
352
+
353
+ v3.0.17
354
+ -------
355
+ - Second tab of logs have just error messages (stderr output)
356
+ - Tests show stderr output too (last lines)
357
+ - Report host.conf submit command problems when parsing/formatting fails
358
+
359
+ Developers:
360
+ - Logging mechanism closer to a standard way. import logging + logging.getLogger() whould work in any module
361
+
362
+
363
+ v3.0.16
364
+ -------
365
+ - Do not suggest deleteing hosts-conf when parsing fails
366
+ - "Select from" option in context menu to select all protocols hanging from the current selection.
367
+ - Schedule optimized
368
+ - dataset download more verbose
369
+ - pyworkflow version shown in main project window
370
+ - new color chooser. More user friendly
371
+ - Viewers are not asked to open outputs generated by themselves. In case a viewer creates an output.
372
+ - File browser shows links
373
+ - File browser allow multiple file handlers for the same extension
374
+
375
+ Developers:
376
+ - weakImport tool: context manager to tolerate import errors
377
+
378
+ -------
379
+ v3.0.15
380
+ -------
381
+ - Cancel fastcopy of shutil if SCIPION_CANCEL_FASTCOPY is defined (fix GPFS copying errors)
382
+ Developers:
383
+ - Allow renaming parameters using pyworkflow.protocol.params.DeprecatedParam
384
+
385
+ -------
386
+ v3.0.13
387
+ -------
388
+
389
+ April 21, 2021:
390
+ - GUI performance and speed up
391
+ - Improvement of the scheduling process
392
+ - Fixed the options: Restart, Continue, Reset and Stop a workflow
@@ -0,0 +1,6 @@
1
+ include *.rst
2
+ include *.txt
3
+
4
+ # Include image files under resources
5
+ include pyworkflow/resources/*
6
+ include pyworkflow/resources/showj/*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scipion-pyworkflow
3
- Version: 3.5.0
3
+ Version: 3.7.0
4
4
  Summary: Simple workflow platform used in scientific applications, initially developed within the Scipion framework for image processing in Electron Microscopy.
5
5
  Home-page: https://github.com/scipion-em/scipion-pyworkflow
6
6
  Author: J.M. De la Rosa Trevin, Roberto Marabini, Grigory Sharov, Josue Gomez Blanco, Pablo Conesa, Yunior Fonseca Reyna
@@ -8,33 +8,56 @@ Author-email: delarosatrevin@scilifelab.se, roberto@cnb.csic.es, gsharov@mrc-lmb
8
8
  Project-URL: Bug Reports, https://github.com/scipion-em/scipion-pyworkflow/issues
9
9
  Project-URL: Source, https://github.com/scipion-em/scipion-pyworkflow/
10
10
  Keywords: workflows science electron-microscopy cryo-em structural-biology image-processing scipion
11
- Classifier: Development Status :: 4 - Beta
11
+ Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Science/Research
13
13
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
14
- Classifier: Programming Language :: Python :: 3.6
15
- Classifier: Programming Language :: Python :: 3.7
16
14
  Classifier: Programming Language :: Python :: 3.8
17
15
  Classifier: Programming Language :: Python :: 3.9
18
16
  Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Topic :: Scientific/Engineering
20
20
  License-File: LICENSE.txt
21
- Requires-Dist: bibtexparser<=1.2.0
22
- Requires-Dist: psutil<=5.9.1
23
- Requires-Dist: configparser<=5.2.0
24
- Requires-Dist: matplotlib==3.3.4; python_version == "3.6"
25
- Requires-Dist: matplotlib==3.5.2; python_version >= "3.7"
26
- Requires-Dist: numpy<=1.23.0
27
- Requires-Dist: pillow==8.4.0; python_version == "3.6"
28
- Requires-Dist: pillow==9.2.0; python_version >= "3.7"
29
- Requires-Dist: requests<=2.28.1
21
+ Requires-Dist: bibtexparser<=1.4.1
22
+ Requires-Dist: psutil<=5.9.6
23
+ Requires-Dist: configparser==6.0.0; python_version >= "3.8"
24
+ Requires-Dist: matplotlib==3.7.3; python_version == "3.8"
25
+ Requires-Dist: matplotlib==3.8.1; python_version >= "3.9"
26
+ Requires-Dist: pillow==10.1.0; python_version >= "3.8"
27
+ Requires-Dist: numpy==1.24.4; python_version == "3.8"
28
+ Requires-Dist: numpy==1.26.1; python_version >= "3.9"
29
+ Requires-Dist: requests==2.31.0; python_version >= "3.8"
30
30
  Requires-Dist: tkcolorpicker
31
31
  Requires-Dist: distro<=1.8
32
+ Requires-Dist: importlib-metadata<=6.8.0
32
33
 
33
- .. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
34
- :width: 200
35
- :alt: Contributor Covenant
36
- :target: https://www.contributor-covenant.org/version/2/0/code_of_conduct/
34
+ .. image:: https://img.shields.io/pypi/v/scipion-pyworkflow.svg
35
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
36
+ :alt: PyPI release
37
+
38
+ .. image:: https://sonarcloud.io/api/project_badges/measure?project=scipion-em_scipion-pyworkflow&metric=alert_status
39
+ :alt: Quality Gate Status
40
+ :target: https://sonarcloud.io/summary/new_code?id=scipion-em_scipion-pyworkflow
41
+
42
+ .. image:: https://img.shields.io/sonar/quality_gate/scipion-em_scipion-pyworkflow?server=https%3A%2F%2Fsonarcloud.io
43
+ :target: https://sonarcloud.io/dashboard?id=scipion-em_scipion-pyworkflow
44
+ :alt: SonarCloud quality gate
45
+
46
+ .. image:: https://img.shields.io/pypi/l/scipion-pyworkflow.svg
47
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
48
+ :alt: License
37
49
 
50
+ .. image:: https://img.shields.io/pypi/pyversions/scipion-pyworkflow.svg
51
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
52
+ :alt: Supported Python versions
53
+
54
+ .. image:: https://img.shields.io/pypi/dm/scipion-pyworkflow
55
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
56
+ :alt: Downloads
57
+
58
+ .. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
59
+ :alt: Contributor Covenant
60
+ :target: https://www.contributor-covenant.org/version/2/0/code_of_conduct/
38
61
 
39
62
  pyworkflow
40
63
  ==========
@@ -1,8 +1,30 @@
1
- .. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
2
- :width: 200
3
- :alt: Contributor Covenant
4
- :target: https://www.contributor-covenant.org/version/2/0/code_of_conduct/
1
+ .. image:: https://img.shields.io/pypi/v/scipion-pyworkflow.svg
2
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
3
+ :alt: PyPI release
4
+
5
+ .. image:: https://sonarcloud.io/api/project_badges/measure?project=scipion-em_scipion-pyworkflow&metric=alert_status
6
+ :alt: Quality Gate Status
7
+ :target: https://sonarcloud.io/summary/new_code?id=scipion-em_scipion-pyworkflow
8
+
9
+ .. image:: https://img.shields.io/sonar/quality_gate/scipion-em_scipion-pyworkflow?server=https%3A%2F%2Fsonarcloud.io
10
+ :target: https://sonarcloud.io/dashboard?id=scipion-em_scipion-pyworkflow
11
+ :alt: SonarCloud quality gate
12
+
13
+ .. image:: https://img.shields.io/pypi/l/scipion-pyworkflow.svg
14
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
15
+ :alt: License
5
16
 
17
+ .. image:: https://img.shields.io/pypi/pyversions/scipion-pyworkflow.svg
18
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
19
+ :alt: Supported Python versions
20
+
21
+ .. image:: https://img.shields.io/pypi/dm/scipion-pyworkflow
22
+ :target: https://pypi.python.org/pypi/scipion-pyworkflow
23
+ :alt: Downloads
24
+
25
+ .. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg
26
+ :alt: Contributor Covenant
27
+ :target: https://www.contributor-covenant.org/version/2/0/code_of_conduct/
6
28
 
7
29
  pyworkflow
8
30
  ==========
@@ -63,15 +63,11 @@ def hasDoubleInheritance(classRef):
63
63
  if __name__ == '__main__':
64
64
  count = 0
65
65
  withDoc = '--with-doc' in sys.argv
66
- asciidoc = '--asciidoc' in sys.argv
67
66
  extended = '--extended' in sys.argv
67
+ ai = '--ai' in sys.argv
68
68
 
69
69
  emProtocolsDict = Config.getDomain().getProtocols()
70
- emCategories = [('Imports', ProtImport, []),
71
- ('Micrographs', ProtMicrographs, []),
72
- ('Particles', ProtParticles, []),
73
- ('2D', Prot2D, []),
74
- ('3D', Prot3D, [])]
70
+
75
71
  protDict = {}
76
72
 
77
73
  # Group protocols by package name
@@ -90,10 +86,6 @@ if __name__ == '__main__':
90
86
  else:
91
87
  protTuple = (k, v)
92
88
  protDict[packageName].append(protTuple)
93
- for c in emCategories:
94
- if issubclass(v, c[1]):
95
- c[2].append(protTuple)
96
-
97
89
 
98
90
  def iterGroups(protDict):
99
91
  groups = list(protDict.keys())
@@ -111,20 +103,7 @@ if __name__ == '__main__':
111
103
  print("* link:%s[%s]: %s" % (k, l, doc))
112
104
 
113
105
 
114
- if asciidoc:
115
- print(":toc:\n:toc-placement!:\n\ntoc::[]\n")
116
-
117
- print("\n== By Categories\n")
118
- for c in emCategories:
119
- print("\n=== %s\n" % c[0])
120
- printProtocols(c[2])
121
-
122
- print("\n== By Packages\n")
123
- for group, prots in iterGroups(protDict):
124
- print("\n=== ", group, "(%d protocols)\n" % len(prots))
125
- printProtocols(prots)
126
-
127
- elif withDoc:
106
+ if withDoc:
128
107
  for group, prots in iterGroups(protDict):
129
108
  print("Package: ", group, "(%d protocols)" % len(prots))
130
109
  for p in prots:
@@ -144,6 +123,18 @@ if __name__ == '__main__':
144
123
  for p in prots:
145
124
  print(formatStr.format(group, p[0],
146
125
  p[1].getClassLabel(), *p[2:]))
126
+ elif ai:
127
+ for group, prots in iterGroups(protDict):
128
+ for protClassName, protClass in prots:
129
+ print("\nThe protocol named \"%s\" can be found in the %s plugin." %(protClass._label, group))
130
+ print("\"%s\" protocol help is as follows:\n %s." % (protClass._label, protClass.__doc__))
131
+ instance = protClass()
132
+
133
+ for name, param in instance._definition.iterParams():
134
+ print("\"%s\" has a \"%s\" parameter that is explained as: %s" % (protClass._label, param.label, param.help))
135
+
136
+
137
+
147
138
  else:
148
139
  formatStr = "{:<15}\t{:<35}\t{:<35}"
149
140
  print(formatStr.format("PACKAGE", "PROTOCOL", "LABEL"))