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.
- {ctadirac-3.0.8a1/src/CTADIRAC.egg-info → ctadirac-3.0.8.dev1}/PKG-INFO +2 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docker/dirac-client/Dockerfile +1 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/pyproject.toml +1 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CWLJob.py +7 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/Utilities/CWLTranslator.py +104 -121
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/Utilities/CWLUtilities.py +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/_version.py +3 -3
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1/src/CTADIRAC.egg-info}/PKG-INFO +2 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/requires.txt +1 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata-processing.yml +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata.yml +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/config/processing_merging_config_from_dataset.yml +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/config/production_config.yml +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testDMSDefinitions.py +2 -2
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testFileCatalogDefinitions.py +2 -3
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testJobDefinitions.py +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testProdDefinitions.py +2 -3
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testSuiteDefinition.py +3 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_cwl_job.py +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_cwl_translator.py +9 -62
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/production/__init__.py +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/scripts/production_system/test_production_scripts.py +6 -4
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/transformation/agent/test_transformation_failover_utils.py +1 -1
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/CODEOWNERS +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/LICENCE +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/MANIFEST.in +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/README.md +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/aiv-config.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/ctadirac_requirements_traceability_matrix.csv +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docker/dirac-client/EGI-trustanchors.repo +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docker/dirac-client/Entrypoint.sh +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/dl0_to_dl2_example.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/mc_example.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/process_corsika_with_sim_telarray.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/examples/testJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/install_CTADIRAC.md +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/install_client.md +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/docs/install_site_desy.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/environment.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/pylint.log +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/release.notes +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/releases.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/report/inspection.tex +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/report/performance_verification.tex +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/report/preamble.tex +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/setup.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/sonar-project.properties +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/Agent/StorageMonitorAgent.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/Agent/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/ConfigTemplate.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ConfigurationSystem/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/SoftwareManager.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/return_values.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/tool_box.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Utilities/typer_callbacks.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Workflow/Modules/ProdDataManager.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Workflow/Modules/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/Workflow/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_dms_check_lfn.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_job_get_parameter.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_add_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_add_file.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_add_prov.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_check_replicas.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_create_dataset_description.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_create_evndisp_dataset_description.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_dump_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_failure_monitor.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_find_datasets.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_fix_nsb.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_file.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_file_by_query.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_file_size.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_merge_size.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_replicas.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_get_se_status.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_git_clone.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_init_prov.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_managedata.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_mark_corrupted_DL0.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_monitor.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_dl2.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_corrupted_file.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_file.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_remove_replica.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_replicate_lfn.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_set_metadata.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_setup_software.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_show_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_split_dataset_bulk.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_unregister_file.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_unregister_replica.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_update_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_prod_verifysteps.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_rms_request.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_add_files.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_clean.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_delete.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_get_files.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_get_tasks.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_move_dataset_status.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_move_files.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_remove_dataset.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_remove_files.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_remove_replicas.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_select.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_show_progress.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_done_tasks.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_failed_tasks.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_incomplete_transfers.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_transformation_treat_problematic_files.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Core/scripts/cta_user_managedata.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTADMSRequestOperationsBase.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARegisterReplica.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTARemoveReplica.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/CTAReplicateAndRegister.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/RequestOperations/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Agent/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Client/ProvBase.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Client/ProvClient.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/Client/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/ConfigTemplate.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/DB/ProvenanceDB.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/DB/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/ProvenanceManagerHandler.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/private/JSONUtils.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/DataManagementSystem/private/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CTAJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeApplyModelsJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeMergeJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeProcessJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeTrainClassifierJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/CtapipeTrainEnergyJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/EvnDispJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/MCPipeJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/MCSimTelProcessJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/SimPipeJob.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/API/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Interfaces/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/CWLUtils.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflow.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/CWLWorkflowStep.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/README.md +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata-processing.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/cta-user-managedata.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/dirac_prod_run.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/setup-software-processing.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/setup-software.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/setup-software.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.png +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/CWL/simulation-run.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/Utilities/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/Utilities/production_utils.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/WorkflowElement.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Client/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/DB/ProductionDB.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/DB/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/Service/ProductionManagerHandler.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/processing_config_from_meta_query.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az000/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/paranal/alphanectarcam/az180/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/apply_models.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_classifier.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az000/train_energy.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/apply_models.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_classifier.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az000/train_energy.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/apply_models.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_classifier.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5/processing/alphanectarcam/az180/train_energy.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/lapalma/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/apply_models.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_classifier.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az000/train_energy.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/apply_models.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/dl0_to_dl2.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/merge.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_classifier.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod5b/processing/lapalma/alpha/az180/train_energy.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/apply_models_all_div.yml +0 -0
- {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
- {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
- {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
- {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
- {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
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0022.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.0043.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.008.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01135.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/merge_div0.01453.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_classifier_all_div.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/processing/az000/train_energy_all_div.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/config/prod6_divergent/simulation/sim_test.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_config.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_create_workflow_evndisp_config.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_get_all.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/scripts/cta_prod_submit_from_cwl_workflow.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/ProductionSystem/test/test_launcher_from_cwl.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Agent/TransformationFailoverAgent.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Agent/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/ConfigTemplate.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/DB/TransformationDB.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/DB/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Service/TornadoTransformationManagerHandler.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Service/TransformationManagerHandler.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Service/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/TransformationSystem/Utils/FailoverUtilities.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/Modules/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/Modules/cta_script.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/Modules/cta_update_ts.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/Workflow/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/WorkloadManagementSystem/Client/CTAODownloadInputData.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/WorkloadManagementSystem/Client/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/WorkloadManagementSystem/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/_dev/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC/version.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/SOURCES.txt +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/dependency_links.txt +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/entry_points.txt +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/src/CTADIRAC.egg-info/top_level.txt +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/calibpipe-camcalib-tool.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/camera_calibration_inputs.yaml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/ctapipe-merge-tool.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/ctapipe-pix-stats-tool.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/ctapipe-process-tool.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/perform-camera-calibration.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/utils/copy-file.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/complex_workflow/utils/select-input.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/inputs_process_multiple.yaml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/internal/output_names.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/merge.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool/process_dl0_dl1_multiple.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/inputs_process_multiple.yaml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/internal/output_names.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/merge.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/expression_tool_scatter/process_dl0_dl1_multiple.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/inputs_dl0_dl1_multiple.yaml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/merge.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/scatter_feat_requirement/process_dl0_dl1_multiple.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/single_command_line_tool/inputs_process_dl0_dl1.yaml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/single_command_line_tool/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/inputs_workflow_dl0_to_dl2.yaml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/process_dl0_dl1.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/process_dl1_dl2.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/resources/cwl/step_input_requirement/workflow_dl0_to_dl2.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_ctapipe-process_wrapper +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_ctapipe-process_wrapper.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_ctapipe-process_wrapper.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_prod_run +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_prod_run.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/dirac_prod_run.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/setup-software-processing.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/setup-software.cwl +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/setup-software.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/config/full_production_config.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/datasets/Prod5b_LaPalma_AdvancedBaseline_NSB1x_electron_North_20deg_R1.json +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/datasets/Prod6_Paranal_gamma_South_20deg.json +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/runTestSuite.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testJobUtils.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/testTransDefinitions.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/__init__.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_cwl_utils.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/api/test_job.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/core/utilities/test_tool_box.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/core/workflow/modules/test_prod_data_manager.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/production/test_prod_submit_utils.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/production/test_workflow_element.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/scripts/core/test_cta_get_job_parameter.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/scripts/test_typer_callbacks.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/test_dummy.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/transformation/agent/test_transformation_agents.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/unit/workload_management/client/test_ctao_download_inputdata.py +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/ci/env/coverage.yml +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/cvmfs/build_corsika-77410-original.sh +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/cvmfs/build_corsika-77410.sh +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/README.md +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/bin/install-ctadirac-server.sh +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/openssl_config_ca.cnf +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/openssl_config_host.cnf +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/openssl_config_user.cnf +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/caUtilities/utilities.sh +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/EGI-trustanchors.repo +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/dirac_example.cfg +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/kill_runsv.sh +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/runsvdir-start +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/runsvdir-start.service +0 -0
- {ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/utils/deploy/files/site.conf +0 -0
- {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.
|
|
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==
|
|
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
|
[](https://pypi.org/project/CTADIRAC/)
|
|
@@ -15,7 +15,7 @@ classifiers = [
|
|
|
15
15
|
]
|
|
16
16
|
license = { text = "BSD 3-Clause License" }
|
|
17
17
|
dependencies = [
|
|
18
|
-
"DIRAC==
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
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
|
-
|
|
412
|
-
self.evaluated_steps_outputs[self.current_step_name]
|
|
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
|
|
549
|
-
"""Extract input
|
|
550
|
-
|
|
551
|
-
|
|
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
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
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
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
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
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
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
|
|
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
|
|
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.
|
|
32
|
-
__version_tuple__ = version_tuple = (3, 0, 8, '
|
|
31
|
+
__version__ = version = '3.0.8.dev1'
|
|
32
|
+
__version_tuple__ = version_tuple = (3, 0, 8, 'dev1')
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g02748529b'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CTADIRAC
|
|
3
|
-
Version: 3.0.
|
|
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==
|
|
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
|
[](https://pypi.org/project/CTADIRAC/)
|
{ctadirac-3.0.8a1 → ctadirac-3.0.8.dev1}/tests/system/CWL/cta-prod-managedata-processing.yml
RENAMED
|
@@ -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: /
|
|
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: /
|
|
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
|
|
@@ -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 = "/
|
|
18
|
+
self.test_dir = "/vo.cta.in2p3.fr/tests/dms"
|
|
19
19
|
self.test_file = "DMS_TestFile.txt"
|
|
20
|
-
self.test_lfn = "/
|
|
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 = "/
|
|
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 = "/
|
|
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 = "/
|
|
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="/
|
|
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 = "/
|
|
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": "
|
|
245
|
+
"dl1_filename": "test.dl1.h5",
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
result = job.submit()
|