CTADIRAC 3.0.8a1__tar.gz → 3.0.8.dev1__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 (331) hide show
  1. {ctadirac-3.0.8a1/src/CTADIRAC.egg-info → ctadirac-3.0.8.dev1}/PKG-INFO +2 -4
  2. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docker/dirac-client/Dockerfile +1 -0
  3. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/pyproject.toml +1 -4
  4. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CWLJob.py +7 -4
  5. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/Utilities/CWLTranslator.py +104 -121
  6. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/Utilities/CWLUtilities.py +1 -1
  7. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/_version.py +3 -3
  8. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1/src/CTADIRAC.egg-info}/PKG-INFO +2 -4
  9. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/requires.txt +1 -4
  10. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata-processing.yml +1 -1
  11. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata.yml +1 -1
  12. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/config/processing_merging_config_from_dataset.yml +1 -1
  13. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/config/production_config.yml +1 -1
  14. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testDMSDefinitions.py +2 -2
  15. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testFileCatalogDefinitions.py +2 -3
  16. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testJobDefinitions.py +1 -1
  17. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testProdDefinitions.py +2 -3
  18. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testSuiteDefinition.py +3 -4
  19. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_cwl_job.py +1 -1
  20. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_cwl_translator.py +9 -62
  21. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/production/__init__.py +1 -1
  22. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/scripts/production_system/test_production_scripts.py +6 -4
  23. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/transformation/agent/test_transformation_failover_utils.py +1 -1
  24. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/CODEOWNERS +0 -0
  25. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/LICENCE +0 -0
  26. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/MANIFEST.in +0 -0
  27. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/README.md +0 -0
  28. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/aiv-config.yml +0 -0
  29. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/ctadirac_requirements_traceability_matrix.csv +0 -0
  30. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docker/dirac-client/EGI-trustanchors.repo +0 -0
  31. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docker/dirac-client/Entrypoint.sh +0 -0
  32. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/dl0_to_dl2_example.yml +0 -0
  33. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/mc_example.yml +0 -0
  34. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/process_corsika_with_sim_telarray.yml +0 -0
  35. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/testJob.py +0 -0
  36. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/install_CTADIRAC.md +0 -0
  37. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/install_client.md +0 -0
  38. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/install_site_desy.cfg +0 -0
  39. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/environment.yml +0 -0
  40. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/pylint.log +0 -0
  41. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/release.notes +0 -0
  42. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/releases.cfg +0 -0
  43. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/report/inspection.tex +0 -0
  44. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/report/performance_verification.tex +0 -0
  45. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/report/preamble.tex +0 -0
  46. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/setup.cfg +0 -0
  47. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/sonar-project.properties +0 -0
  48. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/Agent/StorageMonitorAgent.py +0 -0
  49. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/Agent/__init__.py +0 -0
  50. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/ConfigTemplate.cfg +0 -0
  51. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/__init__.py +0 -0
  52. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/SoftwareManager.py +0 -0
  53. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/__init__.py +0 -0
  54. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/return_values.py +0 -0
  55. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/tool_box.py +0 -0
  56. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/typer_callbacks.py +0 -0
  57. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Workflow/Modules/ProdDataManager.py +0 -0
  58. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Workflow/Modules/__init__.py +0 -0
  59. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Workflow/__init__.py +0 -0
  60. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/__init__.py +0 -0
  61. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/__init__.py +0 -0
  62. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_dms_check_lfn.py +0 -0
  63. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_job_get_parameter.py +0 -0
  64. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_add_dataset.py +0 -0
  65. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_add_file.py +0 -0
  66. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_add_prov.py +0 -0
  67. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_check_replicas.py +0 -0
  68. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_create_dataset_description.py +0 -0
  69. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_create_evndisp_dataset_description.py +0 -0
  70. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_dump_dataset.py +0 -0
  71. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_failure_monitor.py +0 -0
  72. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_find_datasets.py +0 -0
  73. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_fix_nsb.py +0 -0
  74. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_file.py +0 -0
  75. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_file_by_query.py +0 -0
  76. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_file_size.py +0 -0
  77. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_merge_size.py +0 -0
  78. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_replicas.py +0 -0
  79. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_se_status.py +0 -0
  80. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_git_clone.py +0 -0
  81. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_init_prov.py +0 -0
  82. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_managedata.py +0 -0
  83. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_mark_corrupted_DL0.py +0 -0
  84. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_monitor.py +0 -0
  85. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_dl2.py +0 -0
  86. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_file.py +0 -0
  87. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_dataset.py +0 -0
  88. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_file.py +0 -0
  89. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_replica.py +0 -0
  90. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_replicate_lfn.py +0 -0
  91. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_set_metadata.py +0 -0
  92. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_setup_software.py +0 -0
  93. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_show_dataset.py +0 -0
  94. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset.py +0 -0
  95. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset_bulk.py +0 -0
  96. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_unregister_file.py +0 -0
  97. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_unregister_replica.py +0 -0
  98. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_update_dataset.py +0 -0
  99. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_verifysteps.py +0 -0
  100. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_rms_request.py +0 -0
  101. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_add_files.py +0 -0
  102. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_clean.py +0 -0
  103. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_delete.py +0 -0
  104. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_get_files.py +0 -0
  105. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_get_tasks.py +0 -0
  106. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset.py +0 -0
  107. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset_status.py +0 -0
  108. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_move_files.py +0 -0
  109. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_remove_dataset.py +0 -0
  110. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_remove_files.py +0 -0
  111. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_remove_replicas.py +0 -0
  112. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_select.py +0 -0
  113. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_show_progress.py +0 -0
  114. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_done_tasks.py +0 -0
  115. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_failed_tasks.py +0 -0
  116. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_incomplete_transfers.py +0 -0
  117. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_problematic_files.py +0 -0
  118. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_user_managedata.py +0 -0
  119. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTADMSRequestOperationsBase.py +0 -0
  120. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARegisterReplica.py +0 -0
  121. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARemoveReplica.py +0 -0
  122. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTAReplicateAndRegister.py +0 -0
  123. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/__init__.py +0 -0
  124. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/__init__.py +0 -0
  125. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Client/ProvBase.py +0 -0
  126. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Client/ProvClient.py +0 -0
  127. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Client/__init__.py +0 -0
  128. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/ConfigTemplate.cfg +0 -0
  129. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/DB/ProvenanceDB.py +0 -0
  130. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/DB/__init__.py +0 -0
  131. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/ProvenanceManagerHandler.py +0 -0
  132. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/__init__.py +0 -0
  133. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/private/JSONUtils.py +0 -0
  134. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/private/__init__.py +0 -0
  135. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CTAJob.py +0 -0
  136. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeApplyModelsJob.py +0 -0
  137. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeMergeJob.py +0 -0
  138. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeProcessJob.py +0 -0
  139. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeTrainClassifierJob.py +0 -0
  140. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeTrainEnergyJob.py +0 -0
  141. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/EvnDispJob.py +0 -0
  142. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/MCPipeJob.py +0 -0
  143. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/MCSimTelProcessJob.py +0 -0
  144. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/SimPipeJob.py +0 -0
  145. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/__init__.py +0 -0
  146. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/__init__.py +0 -0
  147. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/CWLUtils.py +0 -0
  148. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflow.py +0 -0
  149. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflowStep.py +0 -0
  150. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/README.md +0 -0
  151. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/__init__.py +0 -0
  152. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata-processing.yml +0 -0
  153. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.cwl +0 -0
  154. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.yml +0 -0
  155. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper +0 -0
  156. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
  157. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
  158. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.cwl +0 -0
  159. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.yml +0 -0
  160. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/setup-software-processing.yml +0 -0
  161. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/setup-software.cwl +0 -0
  162. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/setup-software.yml +0 -0
  163. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.cwl +0 -0
  164. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.png +0 -0
  165. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.yml +0 -0
  166. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/Utilities/__init__.py +0 -0
  167. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/Utilities/production_utils.py +0 -0
  168. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/WorkflowElement.py +0 -0
  169. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/__init__.py +0 -0
  170. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/DB/ProductionDB.py +0 -0
  171. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/DB/__init__.py +0 -0
  172. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Service/ProductionManagerHandler.py +0 -0
  173. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/__init__.py +0 -0
  174. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/__init__.py +0 -0
  175. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/processing_config_from_meta_query.yml +0 -0
  176. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/dl0_to_dl2.yml +0 -0
  177. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/merge.yml +0 -0
  178. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/dl0_to_dl2.yml +0 -0
  179. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/merge.yml +0 -0
  180. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
  181. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/merge.yml +0 -0
  182. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
  183. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/merge.yml +0 -0
  184. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/apply_models.yml +0 -0
  185. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/dl0_to_dl2.yml +0 -0
  186. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/merge.yml +0 -0
  187. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_classifier.yml +0 -0
  188. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_energy.yml +0 -0
  189. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/dl0_to_dl2.yml +0 -0
  190. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/merge.yml +0 -0
  191. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/apply_models.yml +0 -0
  192. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
  193. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/merge.yml +0 -0
  194. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_classifier.yml +0 -0
  195. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_energy.yml +0 -0
  196. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/apply_models.yml +0 -0
  197. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
  198. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/merge.yml +0 -0
  199. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_classifier.yml +0 -0
  200. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_energy.yml +0 -0
  201. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
  202. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/merge.yml +0 -0
  203. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
  204. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/merge.yml +0 -0
  205. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/apply_models.yml +0 -0
  206. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
  207. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/merge.yml +0 -0
  208. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_classifier.yml +0 -0
  209. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_energy.yml +0 -0
  210. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/apply_models.yml +0 -0
  211. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
  212. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/merge.yml +0 -0
  213. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_classifier.yml +0 -0
  214. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_energy.yml +0 -0
  215. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/apply_models_all_div.yml +0 -0
  216. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0022.yml +0 -0
  217. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.0043.yml +0 -0
  218. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.008.yml +0 -0
  219. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01135.yml +0 -0
  220. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/dl0_to_dl2_div0.01453.yml +0 -0
  221. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0022.yml +0 -0
  222. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0043.yml +0 -0
  223. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.008.yml +0 -0
  224. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01135.yml +0 -0
  225. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01453.yml +0 -0
  226. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_classifier_all_div.yml +0 -0
  227. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_energy_all_div.yml +0 -0
  228. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/simulation/sim_test.yml +0 -0
  229. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/__init__.py +0 -0
  230. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_config.py +0 -0
  231. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_evndisp_config.py +0 -0
  232. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_get_all.py +0 -0
  233. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit.py +0 -0
  234. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl.py +0 -0
  235. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl_workflow.py +0 -0
  236. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/test/test_launcher_from_cwl.py +0 -0
  237. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Agent/TransformationFailoverAgent.py +0 -0
  238. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Agent/__init__.py +0 -0
  239. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/ConfigTemplate.cfg +0 -0
  240. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/DB/TransformationDB.py +0 -0
  241. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/DB/__init__.py +0 -0
  242. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Service/TornadoTransformationManagerHandler.py +0 -0
  243. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Service/TransformationManagerHandler.py +0 -0
  244. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Service/__init__.py +0 -0
  245. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Utils/FailoverUtilities.py +0 -0
  246. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/Modules/__init__.py +0 -0
  247. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/Modules/cta_script.py +0 -0
  248. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/Modules/cta_update_ts.py +0 -0
  249. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/__init__.py +0 -0
  250. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/WorkloadManagementSystem/Client/CTAODownloadInputData.py +0 -0
  251. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/WorkloadManagementSystem/Client/__init__.py +0 -0
  252. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/WorkloadManagementSystem/__init__.py +0 -0
  253. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/__init__.py +0 -0
  254. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/_dev/__init__.py +0 -0
  255. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/version.py +0 -0
  256. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/SOURCES.txt +0 -0
  257. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/dependency_links.txt +0 -0
  258. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/entry_points.txt +0 -0
  259. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/top_level.txt +0 -0
  260. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/calibpipe-camcalib-tool.cwl +0 -0
  261. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/camera_calibration_inputs.yaml +0 -0
  262. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/ctapipe-merge-tool.cwl +0 -0
  263. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/ctapipe-pix-stats-tool.cwl +0 -0
  264. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/ctapipe-process-tool.cwl +0 -0
  265. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/perform-camera-calibration.cwl +0 -0
  266. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/utils/copy-file.cwl +0 -0
  267. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/utils/select-input.cwl +0 -0
  268. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/inputs_process_multiple.yaml +0 -0
  269. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/internal/output_names.cwl +0 -0
  270. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/merge.cwl +0 -0
  271. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/process_dl0_dl1.cwl +0 -0
  272. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/process_dl0_dl1_multiple.cwl +0 -0
  273. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/inputs_process_multiple.yaml +0 -0
  274. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/internal/output_names.cwl +0 -0
  275. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/merge.cwl +0 -0
  276. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1.cwl +0 -0
  277. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1_multiple.cwl +0 -0
  278. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +0 -0
  279. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/merge.cwl +0 -0
  280. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1.cwl +0 -0
  281. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1_multiple.cwl +0 -0
  282. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/single_command_line_tool/inputs_process_dl0_dl1.yaml +0 -0
  283. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/single_command_line_tool/process_dl0_dl1.cwl +0 -0
  284. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/inputs_workflow_dl0_to_dl2.yaml +0 -0
  285. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/process_dl0_dl1.cwl +0 -0
  286. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/process_dl1_dl2.cwl +0 -0
  287. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/workflow_dl0_to_dl2.cwl +0 -0
  288. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata.cwl +0 -0
  289. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_ctapipe-process_wrapper +0 -0
  290. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
  291. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
  292. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_prod_run +0 -0
  293. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_prod_run.cwl +0 -0
  294. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_prod_run.yml +0 -0
  295. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/setup-software-processing.yml +0 -0
  296. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/setup-software.cwl +0 -0
  297. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/setup-software.yml +0 -0
  298. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/config/full_production_config.yml +0 -0
  299. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/datasets/Prod5b_LaPalma_AdvancedBaseline_NSB1x_electron_North_20deg_R1.json +0 -0
  300. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/datasets/Prod6_Paranal_gamma_South_20deg.json +0 -0
  301. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/runTestSuite.py +0 -0
  302. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testJobUtils.py +0 -0
  303. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testTransDefinitions.py +0 -0
  304. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/__init__.py +0 -0
  305. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_cwl_utils.py +0 -0
  306. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_job.py +0 -0
  307. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/core/utilities/test_tool_box.py +0 -0
  308. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/core/workflow/modules/test_prod_data_manager.py +0 -0
  309. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/production/test_prod_submit_utils.py +0 -0
  310. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/production/test_workflow_element.py +0 -0
  311. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/scripts/core/test_cta_get_job_parameter.py +0 -0
  312. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/scripts/test_typer_callbacks.py +0 -0
  313. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/test_dummy.py +0 -0
  314. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/transformation/agent/test_transformation_agents.py +0 -0
  315. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/workload_management/client/test_ctao_download_inputdata.py +0 -0
  316. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/ci/env/coverage.yml +0 -0
  317. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/cvmfs/build_corsika-77410-original.sh +0 -0
  318. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/cvmfs/build_corsika-77410.sh +0 -0
  319. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/README.md +0 -0
  320. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/bin/install-ctadirac-server.sh +0 -0
  321. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/openssl_config_ca.cnf +0 -0
  322. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/openssl_config_host.cnf +0 -0
  323. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/openssl_config_user.cnf +0 -0
  324. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/utilities.sh +0 -0
  325. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/EGI-trustanchors.repo +0 -0
  326. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/dirac_example.cfg +0 -0
  327. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/kill_runsv.sh +0 -0
  328. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/runsvdir-start +0 -0
  329. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/runsvdir-start.service +0 -0
  330. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/site.conf +0 -0
  331. {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/web_app_example.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CTADIRAC
3
- Version: 3.0.8a1
3
+ Version: 3.0.8.dev1
4
4
  Summary: CTADIRAC is an extension of the DIRAC interware for dedicated CTA usage.
5
5
  Author-email: Luisa Arrabito <arrabito@in2p3.fr>
6
6
  License: BSD 3-Clause License
@@ -15,7 +15,7 @@ Classifier: Topic :: System :: Distributed Computing
15
15
  Requires-Python: >=3.9
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENCE
18
- Requires-Dist: DIRAC==9.0.14
18
+ Requires-Dist: DIRAC==8.0.71
19
19
  Requires-Dist: ruamel.yaml
20
20
  Requires-Dist: shellescape
21
21
  Requires-Dist: matplotlib
@@ -27,8 +27,6 @@ Requires-Dist: codecov; extra == "test"
27
27
  Requires-Dist: flake8; extra == "test"
28
28
  Requires-Dist: pytest-xdist; extra == "test"
29
29
  Requires-Dist: mock; extra == "test"
30
- Provides-Extra: server
31
- Requires-Dist: DIRAC[server]==9.0.14; extra == "server"
32
30
  Dynamic: license-file
33
31
 
34
32
  [![PyPI - Version](https://badge.fury.io/py/CTADIRAC.svg)](https://pypi.org/project/CTADIRAC/)
@@ -1,5 +1,6 @@
1
1
  FROM almalinux:9
2
2
 
3
+ ARG CTADIRAC_VERSION="2.2.72"
3
4
  ARG USERID=1000
4
5
  ARG GROUPID=1000
5
6
 
@@ -15,7 +15,7 @@ classifiers = [
15
15
  ]
16
16
  license = { text = "BSD 3-Clause License" }
17
17
  dependencies = [
18
- "DIRAC==9.0.14",
18
+ "DIRAC==8.0.71",
19
19
  "ruamel.yaml",
20
20
  "shellescape",
21
21
  "matplotlib",
@@ -48,9 +48,6 @@ test = [
48
48
  "pytest-xdist",
49
49
  "mock",
50
50
  ]
51
- server = [
52
- "DIRAC[server]==9.0.14",
53
- ]
54
51
 
55
52
  [project.entry-points]
56
53
  dirac = {metadata = "CTADIRAC:extension_metadata"}
@@ -7,6 +7,7 @@ from cwl_utils.parser import save
7
7
  from DIRAC.Interfaces.API.Dirac import Dirac
8
8
  from DIRAC.Interfaces.API.Job import Job
9
9
  from ruamel.yaml import YAML
10
+
10
11
  from CTADIRAC.Interfaces.Utilities.CWLTranslator import CWLTranslator
11
12
 
12
13
 
@@ -31,10 +32,11 @@ class CWLJob(Job, CWLTranslator):
31
32
  ) -> None:
32
33
  Job.__init__(self)
33
34
  CWLTranslator.__init__(self, cwl_workflow, cwl_inputs)
34
- self.logfile_name = "cwl_job"
35
+
35
36
  self.cvmfs_base_path = cvmfs_base_path
36
37
  self.apptainer_options = apptainer_options if apptainer_options else []
37
38
  self._output_se = output_se
39
+
38
40
  self.translate(self.cvmfs_base_path, self.apptainer_options)
39
41
 
40
42
  def submit(self):
@@ -46,12 +48,14 @@ class CWLJob(Job, CWLTranslator):
46
48
  """
47
49
  dirac = Dirac()
48
50
  yaml = YAML()
51
+
49
52
  # Create the modified Dirac compliant CWL workflow and inputs files to submit
50
53
  with tempfile.NamedTemporaryFile(
51
54
  suffix=f"_{self.cwl_workflow_path.name}"
52
55
  ) as temp_workflow:
53
56
  yaml.dump(save(self.transformed_cwl), temp_workflow)
54
57
  temp_workflow.flush()
58
+
55
59
  with tempfile.NamedTemporaryFile(
56
60
  suffix=f"_{self.cwl_inputs_path.name}"
57
61
  ) as temp_inputs:
@@ -72,10 +76,9 @@ class CWLJob(Job, CWLTranslator):
72
76
  arguments_str = (
73
77
  f"{Path(temp_workflow.name).name} {Path(temp_inputs.name).name}"
74
78
  )
79
+
75
80
  self.setExecutable(
76
- "cwltool",
77
- arguments=arguments_str,
78
- logFile=f"{self.logfile_name}.log",
81
+ "cwltool", arguments=arguments_str, logFile=f"{self.name}.log"
79
82
  )
80
83
  res = dirac.submitJob(self)
81
84
  return res
@@ -95,12 +95,12 @@ class CWLTranslator:
95
95
  apptainer_options : list[Any]
96
96
  A list of options for Apptainer.
97
97
  """
98
- self._extract_input_files(self.original_inputs)
98
+
99
99
  if self.transformed_cwl.hints:
100
100
  self.transformed_cwl = self._translate_docker_hints(
101
101
  self.transformed_cwl, cvmfs_base_path, apptainer_options
102
102
  )
103
-
103
+ self._extract_and_translate_input_files()
104
104
  self._extract_output_files(self.transformed_cwl, self.original_inputs)
105
105
 
106
106
  def _translate_workflow(
@@ -115,39 +115,39 @@ class CWLTranslator:
115
115
  apptainer_options : list[Any]
116
116
  A list of options for Apptainer.
117
117
  """
118
- # Extract the DIRAC related
119
- self._extract_input_files(self.original_inputs)
120
118
  # Need to set the file basename for JSReq:
121
- steps_inputs = deepcopy(self.transformed_inputs)
119
+ self.transformed_inputs = set_input_file_basename(self.transformed_inputs)
120
+ self.transformed_inputs = fill_defaults(
121
+ self.transformed_cwl, self.transformed_inputs
122
+ )
123
+ # Extract the DIRAC related
124
+ self._extract_and_translate_input_files()
125
+
122
126
  self.evaluated_steps_outputs = {}
127
+ steps_inputs = deepcopy(self.transformed_inputs)
123
128
  for n, wf_step in enumerate(self.transformed_cwl.steps):
124
- # TODO: handle the case where the step is also a workflow
125
- if isinstance(wf_step.run, (CommandLineTool, ExpressionTool)):
126
- step_name = wf_step.id.rpartition("#")[2].split("/")[0]
127
- self.current_step_name = step_name
128
- self.evaluated_steps_outputs.setdefault(step_name, {})
129
- # replace docker hints
130
- if wf_step.run.hints:
131
- self.transformed_cwl.steps[n].run = self._translate_docker_hints(
132
- wf_step.run, cvmfs_base_path, apptainer_options
133
- )
134
- # Update the input context for next steps
135
- steps_inputs = fill_defaults(wf_step.run, steps_inputs)
136
- steps_inputs = set_input_file_basename(steps_inputs)
137
- steps_inputs = self._evaluate_step_inputs(wf_step, steps_inputs)
138
-
139
- # Evaluate step outputs
140
- # specific evaluation if the step is an ExpressionTool
141
- if isinstance(wf_step.run, ExpressionTool):
142
- exptool_outputs = self._evaluate_expression_tool_outputs(
143
- self.unpacked_cwl, wf_step, steps_inputs, step_name
144
- )
145
- self.evaluated_steps_outputs[step_name] = exptool_outputs
146
- else:
147
- self._evaluate_step_outputs(wf_step, steps_inputs)
148
- elif isinstance(wf_step, Workflow):
149
- raise NotImplementedError("Workflow steps are not handle yet...")
150
-
129
+ step_name = wf_step.id.rpartition("#")[2].split("/")[0]
130
+ self.current_step_name = step_name
131
+ self.evaluated_steps_outputs.setdefault(step_name, {})
132
+ # replace docker hints
133
+ if wf_step.run.hints:
134
+ self.transformed_cwl.steps[n].run = self._translate_docker_hints(
135
+ wf_step.run, cvmfs_base_path, apptainer_options
136
+ )
137
+ # Update the input context for next steps
138
+ steps_inputs = fill_defaults(wf_step.run, steps_inputs)
139
+ steps_inputs = set_input_file_basename(steps_inputs)
140
+ steps_inputs = self._evaluate_step_inputs(wf_step, steps_inputs)
141
+
142
+ # Evaluate step outputs
143
+ # specific evaluation if the step is an ExpressionTool
144
+ if isinstance(wf_step.run, ExpressionTool):
145
+ exptool_outputs = self._evaluate_expression_tool_outputs(
146
+ self.unpacked_cwl, wf_step, steps_inputs, step_name
147
+ )
148
+ self.evaluated_steps_outputs[step_name] = exptool_outputs
149
+ else:
150
+ self._evaluate_step_outputs(wf_step, steps_inputs)
151
151
  # Finally extract the DIRAC related outputs
152
152
  self._extract_workflow_outputs()
153
153
 
@@ -230,7 +230,6 @@ class CWLTranslator:
230
230
  list | dict[str, Any] | None
231
231
  Evaluated CWL File or list of CWL File
232
232
  """
233
- transformed_inputs = deepcopy(self.transformed_inputs)
234
233
  inp_id = inp.id.rpartition("#")[2].split("/")[-1]
235
234
  if inp.valueFrom:
236
235
  # evaluate if it is a JS exp
@@ -301,8 +300,8 @@ class CWLTranslator:
301
300
  ):
302
301
  # TODO: can that be a list?
303
302
  return self.evaluated_steps_outputs[step_ref][source]
304
- elif inp_source[0] in save(transformed_inputs):
305
- return save(transformed_inputs)[inp_source[0]]
303
+ elif inp_source[0] in save(self.transformed_inputs):
304
+ return save(self.transformed_inputs)[inp_source[0]]
306
305
  elif inp_source[0] in input_context:
307
306
  return input_context[inp_source[0]]
308
307
 
@@ -379,44 +378,37 @@ class CWLTranslator:
379
378
  """
380
379
  for output in step.run.outputs:
381
380
  output_name = output.id.rpartition("#")[2].split("/")[-1]
382
- glob = output.outputBinding.glob
383
- if glob:
384
- if isinstance(glob, str):
385
- # the glob is an expression we evaluate it
386
- glob_exp = glob if glob.startswith("$(") else None
387
- if glob_exp:
388
- eval_glob = do_eval(
389
- glob,
390
- inputs,
391
- outdir=None,
392
- requirements=[],
393
- tmpdir=None,
394
- resources={},
395
- )
396
- if step.scatter and isinstance(eval_glob, list):
397
- for out in eval_glob:
398
- self.evaluated_steps_outputs[
399
- self.current_step_name
400
- ].setdefault(output_name, []).append(
401
- format_output_by_type(out, output.type_)
402
- )
403
- else:
404
- self.evaluated_steps_outputs[self.current_step_name][
405
- output_name
406
- ] = format_output_by_type(eval_glob, output.type_)
381
+ if output.outputBinding.glob:
382
+ # the glob is an expression we evaluate it
383
+ glob_exp = (
384
+ output.outputBinding.glob
385
+ if output.outputBinding.glob.startswith("$(")
386
+ else None
387
+ )
388
+ if glob_exp:
389
+ glob = do_eval(
390
+ output.outputBinding.glob,
391
+ inputs,
392
+ outdir=None,
393
+ requirements=[],
394
+ tmpdir=None,
395
+ resources={},
396
+ )
397
+ if step.scatter and isinstance(glob, list):
398
+ for out in glob:
399
+ self.evaluated_steps_outputs[
400
+ self.current_step_name
401
+ ].setdefault(output_name, []).append(
402
+ format_output_by_type(out, output.type_)
403
+ )
407
404
  else:
408
405
  self.evaluated_steps_outputs[self.current_step_name][
409
406
  output_name
410
407
  ] = format_output_by_type(glob, output.type_)
411
- elif isinstance(glob, list):
412
- self.evaluated_steps_outputs[self.current_step_name].setdefault(
413
- output_name, []
414
- )
415
- for g in glob:
416
- if isinstance(g, str):
417
- self.evaluated_steps_outputs[self.current_step_name][
418
- output_name
419
- ].append(format_output_by_type(g, output.type_))
408
+ else:
409
+ self.evaluated_steps_outputs[self.current_step_name][
410
+ output_name
411
+ ] = format_output_by_type(output.outputBinding.glob, output.type_)
420
412
 
421
413
  def _evaluate_expression_tool_outputs(
422
414
  self,
@@ -545,44 +537,40 @@ class CWLTranslator:
545
537
 
546
538
  return expr_inputs
547
539
 
548
- def _extract_input_files(self, cwl_inputs: dict):
549
- """Extract input sandboxes/data inputs.
550
-
551
- Parameters
552
- ----------
553
- inputs : dict
554
- CWL inputs
540
+ def _extract_and_translate_input_files(self) -> None:
541
+ """Extract input files from CWL inputs and rewrite file paths.
542
+ If the file is a Sandbox, ensure there is no absolute path, and store it in the input sandbox list.
543
+ If the file is a LFN, remove the lfn prefix and store it in the lfns list.
555
544
  """
556
- inputs = deepcopy(cwl_inputs)
557
- for inp_name, inp_value in inputs.items():
558
- if isinstance(inp_value, list):
559
- for index, val in enumerate(inp_value):
560
- if isinstance(val, File):
561
- self._fill_dirac_inputs(val)
562
- # Update the transformed cwl input file
563
- self.transformed_inputs[inp_name][index].path = Path(
564
- val.path
565
- ).name
566
- elif isinstance(inp_value, File):
567
- self._fill_dirac_inputs(inp_value)
568
- # Update the transformed cwl input file
569
- self.transformed_inputs[inp_name].path = Path(inp_value.path).name
570
-
571
- def _fill_dirac_inputs(self, input_file: File):
572
- """Fill DIRAC input sanbox and data lists.
573
545
 
574
- Parameters
575
- ----------
576
- input_value : File
577
- File input
578
- """
579
- if input_file.path.startswith(LFN_PREFIX):
580
- self.input_data.append(
581
- input_file.path.replace(LFN_PREFIX, LFN_DIRAC_PREFIX)
582
- )
583
- else:
584
- sandbox = Path(input_file.path.replace(LOCAL_PREFIX, ""))
585
- self.input_sandbox.append(str(sandbox.absolute()))
546
+ def rewrite_file_path(file: File | str) -> str:
547
+ """Rewrite file path.
548
+
549
+ Parameters
550
+ ----------
551
+ file : File | str
552
+ File which path should be rewritten.
553
+
554
+ Returns:
555
+ -----
556
+ str:
557
+ The new file path.
558
+ """
559
+ path, is_lfn = self._translate_sandboxes_and_lfns(file)
560
+ (self.input_data if is_lfn else self.input_sandbox).append(path)
561
+ return Path(path.removeprefix(LFN_DIRAC_PREFIX)).name
562
+
563
+ for key, input_value in self.transformed_inputs.items():
564
+ if isinstance(input_value, list):
565
+ for file in input_value:
566
+ if isinstance(file, File):
567
+ file.path = rewrite_file_path(file)
568
+ elif isinstance(input_value, File):
569
+ input_value.path = rewrite_file_path(input_value)
570
+ elif isinstance(input_value, str) and input_value.startswith(LFN_PREFIX):
571
+ self.transformed_inputs[key] = Path(
572
+ input_value.removeprefix(LFN_PREFIX)
573
+ ).name
586
574
 
587
575
  def _translate_sandboxes_and_lfns(self, file: File | str) -> tuple[str, bool]:
588
576
  """Extract local files as sandboxes and lfns as input data.
@@ -610,22 +598,17 @@ class CWLTranslator:
610
598
  def _extract_workflow_outputs(self):
611
599
  """Extract the DIRAC outputs (output sandbox/data) from Workflow outputs."""
612
600
  for output in self.transformed_cwl.outputs:
613
- output_sources = output.outputSource
614
- if isinstance(output_sources, str):
615
- output_sources = [output_sources]
616
- if isinstance(output_sources, list):
617
- for output_src in output_sources:
618
- output_source_step = output_src.rpartition("#")[2].split("/")[0]
619
- output_source_name = output_src.rpartition("#")[2].split("/")[-1]
620
- output_value = self.evaluated_steps_outputs[output_source_step].get(
621
- output_source_name, None
622
- )
601
+ output_source_step = output.outputSource.rpartition("#")[2].split("/")[0]
602
+ output_source_name = output.outputSource.rpartition("#")[2].split("/")[-1]
603
+ output_value = self.evaluated_steps_outputs[output_source_step].get(
604
+ output_source_name, None
605
+ )
623
606
 
624
- if isinstance(output_value, list):
625
- for out in output_value:
626
- self._fill_dirac_outputs(out)
627
- elif output_value:
628
- self._fill_dirac_outputs(output_value)
607
+ if isinstance(output_value, list):
608
+ for out in output_value:
609
+ self._fill_dirac_outputs(out)
610
+ else:
611
+ self._fill_dirac_outputs(output_value)
629
612
 
630
613
  def _fill_dirac_outputs(self, output_value: dict):
631
614
  """Fill DIRAC output sandbox and data lists.
@@ -634,7 +617,7 @@ class CWLTranslator:
634
617
  ----------
635
618
  output_value : dict
636
619
  """
637
- if isinstance(output_value, dict) and output_value.get("class", None) == "File":
620
+ if output_value.get("class", None) == "File":
638
621
  if output_value.get("path", "").startswith(LFN_PREFIX):
639
622
  self.output_data.append(
640
623
  output_value.get("path", "").replace(LFN_PREFIX, LFN_DIRAC_PREFIX)
@@ -228,7 +228,7 @@ def format_output_by_type(
228
228
  if isinstance(out_type, str):
229
229
  if out_type in ["boolean", "string", "int"]:
230
230
  return output
231
- elif out_type in ["File", "File[]"]:
231
+ elif out_type == "File":
232
232
  return {"class": "File", "path": output}
233
233
  elif isinstance(out_type, OutputArraySchema):
234
234
  if out_type.type_ == "File":
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '3.0.8a1'
32
- __version_tuple__ = version_tuple = (3, 0, 8, 'a1')
31
+ __version__ = version = '3.0.8.dev1'
32
+ __version_tuple__ = version_tuple = (3, 0, 8, 'dev1')
33
33
 
34
- __commit_id__ = commit_id = 'gbf5fb8190'
34
+ __commit_id__ = commit_id = 'g02748529b'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CTADIRAC
3
- Version: 3.0.8a1
3
+ Version: 3.0.8.dev1
4
4
  Summary: CTADIRAC is an extension of the DIRAC interware for dedicated CTA usage.
5
5
  Author-email: Luisa Arrabito <arrabito@in2p3.fr>
6
6
  License: BSD 3-Clause License
@@ -15,7 +15,7 @@ Classifier: Topic :: System :: Distributed Computing
15
15
  Requires-Python: >=3.9
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENCE
18
- Requires-Dist: DIRAC==9.0.14
18
+ Requires-Dist: DIRAC==8.0.71
19
19
  Requires-Dist: ruamel.yaml
20
20
  Requires-Dist: shellescape
21
21
  Requires-Dist: matplotlib
@@ -27,8 +27,6 @@ Requires-Dist: codecov; extra == "test"
27
27
  Requires-Dist: flake8; extra == "test"
28
28
  Requires-Dist: pytest-xdist; extra == "test"
29
29
  Requires-Dist: mock; extra == "test"
30
- Provides-Extra: server
31
- Requires-Dist: DIRAC[server]==9.0.14; extra == "server"
32
30
  Dynamic: license-file
33
31
 
34
32
  [![PyPI - Version](https://badge.fury.io/py/CTADIRAC.svg)](https://pypi.org/project/CTADIRAC/)
@@ -1,12 +1,9 @@
1
- DIRAC==9.0.14
1
+ DIRAC==8.0.71
2
2
  ruamel.yaml
3
3
  shellescape
4
4
  matplotlib
5
5
  typer[all]
6
6
 
7
- [server]
8
- DIRAC[server]==9.0.14
9
-
10
7
  [test]
11
8
  pytest
12
9
  pytest-cov
@@ -1,6 +1,6 @@
1
1
  metadata: '{"array_layout": "Prod6-Hyperarray", "thetaP": 20.0, "data_level": 2, "particle": "gamma", "sct": "False", "outputType": "Data", "site": "Paranal", "configuration_id": 15, "merged": 0, "MCCampaign": "Prod6", "phiP": 0.0}'
2
2
  file_metadata: "{}"
3
- base_path: /ctao/tests/prodsys/cwl_test/processing
3
+ base_path: /vo.cta.in2p3.fr/tests/prodsys/cwl_test/processing
4
4
  output_pattern: Data/*.h5
5
5
  name_package: ctapipe
6
6
  program_category: analysis
@@ -1,6 +1,6 @@
1
1
  metadata: '{"array_layout": "Prod6-Hyperarray", "thetaP": 20.0, "data_level": -1, "particle": "gamma", "sct": "False", "outputType": "Data", "site": "Paranal", "configuration_id": 15, "merged": 0, "MCCampaign": "Prod6", "tel_sim_prog_version": "2020-06-29b", "phiP": 0.0, "tel_sim_prog": "sim_telarray"}'
2
2
  file_metadata: "{}"
3
- base_path: /ctao/tests/prodsys/cwl_test/simulation
3
+ base_path: /vo.cta.in2p3.fr/tests/prodsys/cwl_test/simulation
4
4
  output_pattern: Data/*dark*.simtel.zst
5
5
  name_package: corsika_simtelarray
6
6
  program_category: tel_sim
@@ -35,4 +35,4 @@ ProdSteps:
35
35
  Common:
36
36
  MCCampaign: Prod5bTest
37
37
  configuration_id: 15
38
- base_path: /ctao/tests/prodsys/MC
38
+ base_path: /vo.cta.in2p3.fr/tests/prodsys/MC
@@ -20,4 +20,4 @@ ProdSteps:
20
20
  Common:
21
21
  MCCampaign: Prod5bTest
22
22
  configuration_id: 15
23
- base_path: /ctao/tests/prodsys/MC
23
+ base_path: /vo.cta.in2p3.fr/tests/prodsys/MC
@@ -15,9 +15,9 @@ class ClientDMS:
15
15
  def __init__(self):
16
16
  self.dest_se1 = "CSCS-Disk"
17
17
  self.dest_se2 = "PIC-Disk"
18
- self.test_dir = "/ctao/tests/dms"
18
+ self.test_dir = "/vo.cta.in2p3.fr/tests/dms"
19
19
  self.test_file = "DMS_TestFile.txt"
20
- self.test_lfn = "/ctao/tests/dms/DMS_TestFile.txt"
20
+ self.test_lfn = "/vo.cta.in2p3.fr/tests/dms/DMS_TestFile.txt"
21
21
 
22
22
  def write_test_file(self):
23
23
  with open(self.test_file, "w") as file:
@@ -7,6 +7,7 @@ import os
7
7
 
8
8
  from DIRAC.Core.Base.Script import Script
9
9
 
10
+ Script.parseCommandLine()
10
11
 
11
12
  import DIRAC
12
13
  from DIRAC import gLogger
@@ -14,15 +15,13 @@ from DIRAC.Resources.Catalog.FileCatalogClient import FileCatalogClient
14
15
  from DIRAC.Resources.Catalog.RucioFileCatalogClient import RucioFileCatalogClient
15
16
  from DIRAC.DataManagementSystem.Client.DataManager import DataManager
16
17
 
17
- Script.parseCommandLine()
18
-
19
18
 
20
19
  class ClientFileCatalog:
21
20
  def __init__(self, catalog):
22
21
  self.catalogs = [catalog]
23
22
  self.dest_se_1 = "PIC-Disk"
24
23
  self.dest_se_2 = "CSCS-Disk"
25
- self.test_dir = "/ctao/tests/file_catalog"
24
+ self.test_dir = "/vo.cta.in2p3.fr/tests/file_catalog"
26
25
  self.lfn = os.path.join(self.test_dir, "testFile.txt")
27
26
  self.file_name = os.path.basename(self.lfn)
28
27
  self.file_tuple = (
@@ -15,7 +15,7 @@ from testJobUtils import base_to_all_jobs, end_of_all_jobs
15
15
 
16
16
  dm = DataManager()
17
17
  dirac = Dirac()
18
- test_dir = "/ctao/tests/prodsys"
18
+ test_dir = "/vo.cta.in2p3.fr/tests/prodsys"
19
19
  git_repo = "https://gitlab.cta-observatory.org/arrabito/mandel4ts.git"
20
20
  workflow_path = "DIRAC/tests/Workflow"
21
21
  exec_script = "exe-script.py"
@@ -7,6 +7,7 @@ import json
7
7
 
8
8
  from DIRAC.Core.Base.Script import Script
9
9
 
10
+ Script.parseCommandLine()
10
11
 
11
12
  # from DIRAC
12
13
  from DIRAC import gLogger
@@ -20,14 +21,12 @@ from testJobDefinitions import create_workflow_body_step
20
21
  from testJobDefinitions import create_workflow_body_step1
21
22
  from testJobDefinitions import create_workflow_body_step2
22
23
 
23
- Script.parseCommandLine()
24
-
25
24
  dm = DataManager()
26
25
  prod_client = ProductionClient()
27
26
  prod_desc = prod_client.prodDescription
28
27
  dirac = Dirac()
29
28
 
30
- testDir = "/ctao/tests/prodsys"
29
+ testDir = "/vo.cta.in2p3.fr/tests/prodsys"
31
30
 
32
31
 
33
32
  def create_production_step(name, type, input_query=None, output_query=None):
@@ -9,6 +9,7 @@ import DIRAC
9
9
  from DIRAC.Interfaces.API.Dirac import Dirac
10
10
  from DIRAC.Resources.Catalog.FileCatalog import FileCatalog
11
11
 
12
+ DIRAC.initialize() # Initialize configuration
12
13
 
13
14
  from testJobDefinitions import (
14
15
  hello_world,
@@ -36,8 +37,6 @@ from testDMSDefinitions import (
36
37
  )
37
38
  from testFileCatalogDefinitions import ClientFileCatalog
38
39
 
39
- DIRAC.initialize() # Initialize configuration
40
-
41
40
  dirac = Dirac()
42
41
 
43
42
  """To add parser and running or skipping test using unittest
@@ -56,7 +55,7 @@ class WMSTestCase(unittest.TestCase):
56
55
  self,
57
56
  sites=None,
58
57
  s_elements=None,
59
- test_dir="/ctao/tests/wms",
58
+ test_dir="/vo.cta.in2p3.fr/tests/wms",
60
59
  input_file="WMS_TestInputFile.txt",
61
60
  output_file="WMS_TestOutputFile.txt",
62
61
  exe_script="exe_script.sh",
@@ -251,7 +250,7 @@ class ProdSystemFullTests(WMSTestCase):
251
250
  def test_submit_full_prod(self):
252
251
  print("\n")
253
252
  print(self.separation)
254
- test_dir = "/ctao/tests/prodsys/MC"
253
+ test_dir = "/vo.cta.in2p3.fr/tests/prodsys/MC"
255
254
  prod_name = "prodTestFullProduction"
256
255
  prod_test_dir = os.path.join(test_dir, "Prod5bTest/LaPalma/gamma-diffuse")
257
256
 
@@ -242,7 +242,7 @@ def test_datapipe_cwl_job(mock_submit_job):
242
242
  assert save(job.transformed_inputs) == {
243
243
  "dl0": {"class": "File", "path": "gamma_cone10_run010000.simtel.zst"},
244
244
  "processing_config": {"class": "File", "path": "process_config.yaml"},
245
- "dl1_filename": "lfn:///ctao/datapipe/test.dl1.h5",
245
+ "dl1_filename": "test.dl1.h5",
246
246
  }
247
247
 
248
248
  result = job.submit()