scipion-pyworkflow 3.10.1__tar.gz → 3.10.3__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 (168) hide show
  1. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/CHANGES.txt +2 -0
  2. {scipion_pyworkflow-3.10.1/scipion_pyworkflow.egg-info → scipion_pyworkflow-3.10.3}/PKG-INFO +1 -1
  3. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/constants.py +1 -1
  4. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/executor.py +13 -6
  5. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/protocol.py +3 -1
  6. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3/scipion_pyworkflow.egg-info}/PKG-INFO +1 -1
  7. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/LICENSE.txt +0 -0
  8. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/MANIFEST.in +0 -0
  9. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/README.rst +0 -0
  10. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/__init__.py +0 -0
  11. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/__init__.py +0 -0
  12. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_manager.py +0 -0
  13. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_plot.py +0 -0
  14. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_project.py +0 -0
  15. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_protocol_list.py +0 -0
  16. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_protocol_run.py +0 -0
  17. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_run_tests.py +0 -0
  18. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_schedule_run.py +0 -0
  19. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_sleep.py +0 -0
  20. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_sync_data.py +0 -0
  21. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/apps/pw_viewer.py +0 -0
  22. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/config.py +0 -0
  23. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/exceptions.py +0 -0
  24. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/__init__.py +0 -0
  25. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/browser.py +0 -0
  26. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/canvas.py +0 -0
  27. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/dialog.py +0 -0
  28. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/form.py +0 -0
  29. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/graph.py +0 -0
  30. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/graph_layout.py +0 -0
  31. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/gui.py +0 -0
  32. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/matplotlib_image.py +0 -0
  33. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/plotter.py +0 -0
  34. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/__init__.py +0 -0
  35. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/base.py +0 -0
  36. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/constants.py +0 -0
  37. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/labels.py +0 -0
  38. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/project.py +0 -0
  39. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/searchprotocol.py +0 -0
  40. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/searchrun.py +0 -0
  41. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/steps.py +0 -0
  42. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/utils.py +0 -0
  43. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/variables.py +0 -0
  44. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/viewdata.py +0 -0
  45. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/viewprojects.py +0 -0
  46. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/viewprotocols.py +0 -0
  47. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/project/viewprotocols_extra.py +0 -0
  48. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/text.py +0 -0
  49. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/tooltip.py +0 -0
  50. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/tree.py +0 -0
  51. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/gui/widgets.py +0 -0
  52. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/mapper/__init__.py +0 -0
  53. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/mapper/mapper.py +0 -0
  54. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/mapper/sqlite.py +0 -0
  55. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/mapper/sqlite_db.py +0 -0
  56. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/object.py +0 -0
  57. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/plugin.py +0 -0
  58. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/__init__.py +0 -0
  59. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/config.py +0 -0
  60. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/manager.py +0 -0
  61. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/project.py +0 -0
  62. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/clean_projects.py +0 -0
  63. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/config.py +0 -0
  64. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/create.py +0 -0
  65. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/edit_workflow.py +0 -0
  66. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/fix_links.py +0 -0
  67. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/load.py +0 -0
  68. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/refresh.py +0 -0
  69. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/schedule.py +0 -0
  70. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/stack2volume.py +0 -0
  71. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/project/scripts/stop.py +0 -0
  72. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/__init__.py +0 -0
  73. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/bibtex.py +0 -0
  74. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/constants.py +0 -0
  75. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/hosts.py +0 -0
  76. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/launch.py +0 -0
  77. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/package.py +0 -0
  78. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/protocol/params.py +0 -0
  79. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/Imagej.png +0 -0
  80. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/chimera.png +0 -0
  81. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/fa-exclamation-triangle_alert.png +0 -0
  82. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/fa-info-circle_alert.png +0 -0
  83. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/fa-search.png +0 -0
  84. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/fa-times-circle_alert.png +0 -0
  85. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/file_vol.png +0 -0
  86. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/loading.gif +0 -0
  87. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/no-image128.png +0 -0
  88. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_bn.png +0 -0
  89. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_icon.png +0 -0
  90. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_icon.svg +0 -0
  91. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_icon_proj.png +0 -0
  92. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_icon_projs.png +0 -0
  93. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_icon_prot.png +0 -0
  94. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_logo.png +0 -0
  95. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_logo_normal.png +0 -0
  96. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/scipion_logo_small.png +0 -0
  97. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/arrowDown.png +0 -0
  98. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/arrowUp.png +0 -0
  99. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/background_section.png +0 -0
  100. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/colRowModeOff.png +0 -0
  101. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/colRowModeOn.png +0 -0
  102. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/delete.png +0 -0
  103. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/doc_icon.png +0 -0
  104. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/download_icon.png +0 -0
  105. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/enabled_gallery.png +0 -0
  106. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/galleryViewOff.png +0 -0
  107. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/galleryViewOn.png +0 -0
  108. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/goto.png +0 -0
  109. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/menu.png +0 -0
  110. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/separator.png +0 -0
  111. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/tableViewOff.png +0 -0
  112. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/tableViewOn.png +0 -0
  113. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  114. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  115. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  116. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/volumeOff.png +0 -0
  117. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/showj/volumeOn.png +0 -0
  118. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/sprites.png +0 -0
  119. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/sprites.xcf +0 -0
  120. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/resources/wait.gif +0 -0
  121. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/template.py +0 -0
  122. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/tests/__init__.py +0 -0
  123. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/tests/test_utils.py +0 -0
  124. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/tests/tests.py +0 -0
  125. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/__init__.py +0 -0
  126. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/dataset.py +0 -0
  127. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/echo.py +0 -0
  128. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/graph.py +0 -0
  129. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/log.py +0 -0
  130. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/path.py +0 -0
  131. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/process.py +0 -0
  132. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/profiler.py +0 -0
  133. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/progressbar.py +0 -0
  134. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/properties.py +0 -0
  135. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/reflection.py +0 -0
  136. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/utils.py +0 -0
  137. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/utils/which.py +0 -0
  138. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/viewer.py +0 -0
  139. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/webservices/__init__.py +0 -0
  140. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/webservices/config.py +0 -0
  141. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/webservices/notifier.py +0 -0
  142. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/webservices/repository.py +0 -0
  143. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/webservices/workflowhub.py +0 -0
  144. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflow/wizard.py +0 -0
  145. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/__init__.py +0 -0
  146. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/bibtex.py +0 -0
  147. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/objects.py +0 -0
  148. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/protocols.py +0 -0
  149. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/__init__.py +0 -0
  150. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_canvas.py +0 -0
  151. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_domain.py +0 -0
  152. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_logs.py +0 -0
  153. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_mappers.py +0 -0
  154. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_object.py +0 -0
  155. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_project.py +0 -0
  156. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_protocol_execution.py +0 -0
  157. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_protocol_export.py +0 -0
  158. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_protocol_output.py +0 -0
  159. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_streaming.py +0 -0
  160. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/pyworkflowtests/tests/test_utils.py +0 -0
  161. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/requirements.txt +0 -0
  162. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/scipion_pyworkflow.egg-info/SOURCES.txt +0 -0
  163. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/scipion_pyworkflow.egg-info/dependency_links.txt +0 -0
  164. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/scipion_pyworkflow.egg-info/entry_points.txt +0 -0
  165. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/scipion_pyworkflow.egg-info/requires.txt +0 -0
  166. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/scipion_pyworkflow.egg-info/top_level.txt +0 -0
  167. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/setup.cfg +0 -0
  168. {scipion_pyworkflow-3.10.1 → scipion_pyworkflow-3.10.3}/setup.py +0 -0
@@ -1,3 +1,5 @@
1
+ V3.10.3: hotfix: Parallelization with GPUs is fixed and step queue executor fixed with the new implementation.
2
+ V3.10.2: hotfix: Executor frees the GPU/s used via step id instead of node.
1
3
  V3.10.1: hotfix: Avoid double Gpu assignment in scipion parallelize protocols with concurrent GPU steps
2
4
  V3.10.0
3
5
  developers:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scipion-pyworkflow
3
- Version: 3.10.1
3
+ Version: 3.10.3
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
@@ -43,7 +43,7 @@ VERSION_1 = '1.0.0'
43
43
  VERSION_1_1 = '1.1.0'
44
44
  VERSION_1_2 = '1.2.0'
45
45
  VERSION_2_0 = '2.0.0'
46
- VERSION_3_0 = '3.10.1'
46
+ VERSION_3_0 = '3.10.3'
47
47
 
48
48
  # For a new release, define a new constant and assign it to LAST_VERSION
49
49
  # The existing one has to be added to OLD_VERSIONS list.
@@ -287,7 +287,7 @@ class ThreadStepExecutor(StepExecutor):
287
287
  # Some nodes/threads do not use gpus so may not be booked and not in the dictionary
288
288
  if gpus is not None:
289
289
  self.gpuDict.pop(node)
290
- self.gpuDict[-node-1] = gpus
290
+ self.gpuDict[-node] = gpus
291
291
  logger.info("GPUs %s freed from step %s" % (gpus, node))
292
292
  else:
293
293
  logger.debug("step id %s not found in GPU slots" % node)
@@ -337,7 +337,7 @@ class ThreadStepExecutor(StepExecutor):
337
337
  for node in nodesFinished:
338
338
  step = runningSteps.pop(node) # remove entry from runningSteps
339
339
  freeNodes.append(node) # the node is available now
340
- self.freeGpusSlot(node)
340
+ self.freeGpusSlot(step.getObjId())
341
341
  # Notify steps termination and check if we should continue
342
342
  doContinue = stepFinishedCallback(step)
343
343
  if not doContinue:
@@ -392,8 +392,6 @@ class QueueStepExecutor(ThreadStepExecutor):
392
392
  self.submitDict = submitDict
393
393
  # Command counter per thread
394
394
  self.threadCommands = {}
395
- for threadId in range(nThreads):
396
- self.threadCommands[threadId] = 0
397
395
 
398
396
  if nThreads > 1:
399
397
  self.runJobs = ThreadStepExecutor.runSteps
@@ -411,6 +409,15 @@ class QueueStepExecutor(ThreadStepExecutor):
411
409
 
412
410
  logger.debug("Updated gpus ids rebase starting from 0: %s per thread" %self.gpuDict)
413
411
 
412
+ def getThreadJobId(self, stepId):
413
+ """ Returns the job id extension assigned to each thread/step """
414
+ if not stepId in self.threadCommands:
415
+ self.threadCommands[stepId] = 0
416
+
417
+ self.threadCommands[stepId] += 1
418
+
419
+ return self.threadCommands[stepId]
420
+
414
421
  def runJob(self, log, programName, params, numberOfMpi=1, numberOfThreads=1, env=None, cwd=None, executable=None):
415
422
  threadId = threading.current_thread().thId
416
423
  submitDict = dict(self.hostConfig.getQueuesDefault())
@@ -418,8 +425,8 @@ class QueueStepExecutor(ThreadStepExecutor):
418
425
  submitDict['JOB_COMMAND'] = process.buildRunCommand(programName, params, numberOfMpi,
419
426
  self.hostConfig, env,
420
427
  gpuList=self.getGpuList())
421
- self.threadCommands[threadId] += 1
422
- subthreadId = '-%s-%s' % (threadId, self.threadCommands[threadId])
428
+ threadJobId = self.getThreadJobId(threadId)
429
+ subthreadId = '-%s-%s' % (threadId, threadJobId)
423
430
  submitDict['JOB_NAME'] = submitDict['JOB_NAME'] + subthreadId
424
431
  submitDict['JOB_SCRIPT'] = os.path.abspath(removeExt(submitDict['JOB_SCRIPT']) + subthreadId + ".job")
425
432
  submitDict['JOB_LOGS'] = os.path.join(getParentFolder(submitDict['JOB_SCRIPT']), submitDict['JOB_NAME'])
@@ -1934,7 +1934,9 @@ class Protocol(Step):
1934
1934
  'JOB_CORES': self.numberOfMpi.get() * self.numberOfThreads.get(),
1935
1935
  'JOB_HOURS': 72,
1936
1936
  'GPU_COUNT': len(self.getGpuList()),
1937
- 'QUEUE_FOR_JOBS': 'N'
1937
+ 'QUEUE_FOR_JOBS': 'N',
1938
+ 'SCIPION_PROJECT': self.getProject().getShortName(),
1939
+ 'SCIPION_PROTOCOL': self.getRunName()
1938
1940
  }
1939
1941
  d.update(queueParams)
1940
1942
  return d
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scipion-pyworkflow
3
- Version: 3.10.1
3
+ Version: 3.10.3
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