dxpy 0.387.0__tar.gz → 0.388.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. {dxpy-0.387.0 → dxpy-0.388.0}/PKG-INFO +1 -1
  2. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/asset_builder.py +16 -13
  3. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/cp.py +2 -1
  4. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/awscli_assets.json +1 -0
  5. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/awscli_assets.staging.json +2 -1
  6. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextaur_assets.json +1 -0
  7. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextaur_assets.staging.json +1 -0
  8. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_assets.json +1 -0
  9. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_assets.staging.json +1 -0
  10. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_utils.py +1 -0
  11. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/scripts/dx.py +6 -2
  12. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/scripts/dx_build_app.py +1 -1
  13. dxpy-0.388.0/dxpy/toolkit_version.py +1 -0
  14. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/PKG-INFO +1 -1
  15. dxpy-0.387.0/dxpy/toolkit_version.py +0 -1
  16. {dxpy-0.387.0 → dxpy-0.388.0}/MANIFEST.in +0 -0
  17. {dxpy-0.387.0 → dxpy-0.388.0}/Readme.md +0 -0
  18. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/__init__.py +0 -0
  19. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/api.py +0 -0
  20. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/app_builder.py +0 -0
  21. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/app_categories.py +0 -0
  22. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/__init__.py +0 -0
  23. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/__init__.py +0 -0
  24. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/cmd_line_options_validator.py +0 -0
  25. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/data_transformations.py +0 -0
  26. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/dataset.py +0 -0
  27. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/json_validation_by_schema.py +0 -0
  28. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/__init__.py +0 -0
  29. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/assay_filtering_conditions.py +0 -0
  30. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/assay_filtering_json_schemas.py +0 -0
  31. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/schemas/input_arguments_validation_schemas.py +0 -0
  32. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/vizclient.py +0 -0
  33. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/vizserver_filters_from_json_parser.py +0 -0
  34. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/apollo/vizserver_payload_builder.py +0 -0
  35. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/auth.py +0 -0
  36. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/download_all_inputs.py +0 -0
  37. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxanalysis.py +0 -0
  38. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxapp.py +0 -0
  39. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxapp_container_functions.py +0 -0
  40. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxapplet.py +0 -0
  41. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxdatabase.py +0 -0
  42. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxdatabase_functions.py +0 -0
  43. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxdataobject_functions.py +0 -0
  44. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxfile.py +0 -0
  45. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxfile_functions.py +0 -0
  46. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxglobalworkflow.py +0 -0
  47. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxjob.py +0 -0
  48. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxproject.py +0 -0
  49. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxrecord.py +0 -0
  50. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/dxworkflow.py +0 -0
  51. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/mount_all_inputs.py +0 -0
  52. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/bindings/search.py +0 -0
  53. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/__init__.py +0 -0
  54. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/dataset_utilities.py +0 -0
  55. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/download.py +0 -0
  56. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/exec_io.py +0 -0
  57. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/help_messages.py +0 -0
  58. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/org.py +0 -0
  59. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/output_handling.py +0 -0
  60. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/parsers.py +0 -0
  61. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/cli/workflow.py +0 -0
  62. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/compat.py +0 -0
  63. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest.json +0 -0
  64. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_staging.json +0 -0
  65. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_staging_vep.json +0 -0
  66. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/Homo_sapiens_genes_manifest_vep.json +0 -0
  67. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/__init__.py +0 -0
  68. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/cohort_filter_payload.py +0 -0
  69. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/column_conditions.json +0 -0
  70. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/column_conversion.json +0 -0
  71. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/filter_to_payload.py +0 -0
  72. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/germline_utils.py +0 -0
  73. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/input_validation.py +0 -0
  74. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/input_validation_somatic.py +0 -0
  75. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_allele_schema.json +0 -0
  76. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_annotation_schema.json +0 -0
  77. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_bins.py +0 -0
  78. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/retrieve_genotype_schema.json +0 -0
  79. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_allele.json +0 -0
  80. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_annotation.json +0 -0
  81. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_genotype.json +0 -0
  82. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/return_columns_genotype_only.json +0 -0
  83. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dx_extract_utils/somatic_filter_payload.py +0 -0
  84. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/dxlog.py +0 -0
  85. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/exceptions.py +0 -0
  86. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/executable_builder.py +0 -0
  87. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/ImageRef.py +0 -0
  88. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/ImageRefFactory.py +0 -0
  89. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/__init__.py +0 -0
  90. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/collect_images.py +0 -0
  91. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_builder.py +0 -0
  92. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/nextflow/nextflow_templates.py +0 -0
  93. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/packages/__init__.py +0 -0
  94. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/scripts/__init__.py +0 -0
  95. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/scripts/dx_app_wizard.py +0 -0
  96. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/scripts/dx_build_applet.py +0 -0
  97. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/ssh_tunnel_app_support.py +0 -0
  98. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/system_requirements.py +0 -0
  99. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/__init__.py +0 -0
  100. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/bash.py +0 -0
  101. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/python.py +0 -0
  102. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/Readme.md +0 -0
  103. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/basic/dxapp.json +0 -0
  104. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/basic/src/code.sh +0 -0
  105. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/parallelized/dxapp.json +0 -0
  106. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/parallelized/src/code.sh +0 -0
  107. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/scatter-process-gather/dxapp.json +0 -0
  108. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/bash/scatter-process-gather/src/code.sh +0 -0
  109. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/nextflow/dxapp.json +0 -0
  110. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/nextflow/src/nextflow.sh +0 -0
  111. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/basic/dxapp.json +0 -0
  112. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/basic/src/code.py +0 -0
  113. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/basic/test/test.py +0 -0
  114. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/parallelized/dxapp.json +0 -0
  115. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/parallelized/src/code.py +0 -0
  116. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/parallelized/test/test.py +0 -0
  117. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/dxapp.json +0 -0
  118. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/src/code.py +0 -0
  119. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/templates/python/scatter-process-gather/test/test.py +0 -0
  120. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/templating/utils.py +0 -0
  121. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/__init__.py +0 -0
  122. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/batch_utils.py +0 -0
  123. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/completer.py +0 -0
  124. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/config.py +0 -0
  125. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/describe.py +0 -0
  126. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/exec_utils.py +0 -0
  127. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/executable_unbuilder.py +0 -0
  128. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/file_handle.py +0 -0
  129. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/file_load_utils.py +0 -0
  130. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/genomic_utils.py +0 -0
  131. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/job_log_client.py +0 -0
  132. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/local_exec_utils.py +0 -0
  133. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/pathmatch.py +0 -0
  134. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/pretty_print.py +0 -0
  135. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/printing.py +0 -0
  136. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/resolver.py +0 -0
  137. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/spelling_corrector.py +0 -0
  138. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/utils/version.py +0 -0
  139. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy/workflow_builder.py +0 -0
  140. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/SOURCES.txt +0 -0
  141. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/dependency_links.txt +0 -0
  142. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/entry_points.txt +0 -0
  143. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/not-zip-safe +0 -0
  144. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/requires.txt +0 -0
  145. {dxpy-0.387.0 → dxpy-0.388.0}/dxpy.egg-info/top_level.txt +0 -0
  146. {dxpy-0.387.0 → dxpy-0.388.0}/requirements.txt +0 -0
  147. {dxpy-0.387.0 → dxpy-0.388.0}/requirements_setuptools.txt +0 -0
  148. {dxpy-0.387.0 → dxpy-0.388.0}/requirements_test.txt +0 -0
  149. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-clone-asset +0 -0
  150. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-docker +0 -0
  151. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-download-all-inputs +0 -0
  152. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-fetch-bundled-depends +0 -0
  153. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-generate-dxapp +0 -0
  154. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-jobutil-add-output +0 -0
  155. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-jobutil-dxlink +0 -0
  156. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-jobutil-get-identity-token +0 -0
  157. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-jobutil-new-job +0 -0
  158. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-jobutil-parse-link +0 -0
  159. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-jobutil-report-error +0 -0
  160. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-log-stream +0 -0
  161. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-mount-all-inputs +0 -0
  162. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-notebook-reconnect +0 -0
  163. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-print-bash-vars +0 -0
  164. {dxpy-0.387.0 → dxpy-0.388.0}/scripts/dx-upload-all-outputs +0 -0
  165. {dxpy-0.387.0 → dxpy-0.388.0}/setup.cfg +0 -0
  166. {dxpy-0.387.0 → dxpy-0.388.0}/setup.py +0 -0
  167. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_batch.py +0 -0
  168. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_create_cohort.py +0 -0
  169. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_describe.py +0 -0
  170. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dx-docker.py +0 -0
  171. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dx_app_wizard.py +0 -0
  172. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dx_bash_helpers.py +0 -0
  173. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dx_completion.py +0 -0
  174. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dx_symlink.py +0 -0
  175. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dxabs.py +0 -0
  176. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dxasset.py +0 -0
  177. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dxclient.py +0 -0
  178. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dxpy.py +0 -0
  179. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dxpy_utils.py +0 -0
  180. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_dxunpack.py +0 -0
  181. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_extract_assay.py +0 -0
  182. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_extract_dataset.py +0 -0
  183. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_extract_expression.py +0 -0
  184. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_extract_somatic.py +0 -0
  185. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_nextflow.py +0 -0
  186. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_nextflow_ImageRef.py +0 -0
  187. {dxpy-0.387.0 → dxpy-0.388.0}/test/test_nextflow_ImageRefFactory.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dxpy
3
- Version: 0.387.0
3
+ Version: 0.388.0
4
4
  Summary: DNAnexus Platform API bindings for Python
5
5
  Home-page: https://github.com/dnanexus/dx-toolkit
6
6
  Author: Aleksandra Zalcman, Andrey Kislyuk, Anurag Biyani, Geet Duggal, Katherine Lai, Kurt Jensen, Marek Hrvol, Ohad Rodeh, Phil Sung
@@ -35,7 +35,15 @@ ASSET_BUILDER_TRUSTY = "app-create_asset_trusty"
35
35
  ASSET_BUILDER_XENIAL = "app-create_asset_xenial"
36
36
  ASSET_BUILDER_XENIAL_V1 = "app-create_asset_xenial_v1"
37
37
  ASSET_BUILDER_FOCAL = "app-create_asset_focal"
38
-
38
+ ASSET_BUILDER_NOBLE = "app-create_asset_noble"
39
+ ASSET_BUILDERS = {
40
+ '12.04': ASSET_BUILDER_PRECISE,
41
+ '14.04': ASSET_BUILDER_TRUSTY,
42
+ '16.04': ASSET_BUILDER_XENIAL,
43
+ '16.04_v1': ASSET_BUILDER_XENIAL_V1,
44
+ '20.04': ASSET_BUILDER_FOCAL,
45
+ '24.04': ASSET_BUILDER_NOBLE,
46
+ }
39
47
 
40
48
 
41
49
  class AssetBuilderException(Exception):
@@ -85,8 +93,8 @@ def validate_conf(asset_conf):
85
93
  raise AssetBuilderException('The asset configuration does not contain the required field "name".')
86
94
 
87
95
  # Validate runSpec
88
- if 'release' not in asset_conf or asset_conf['release'] not in ["20.04", "16.04", "14.04", "12.04"]:
89
- raise AssetBuilderException('The "release" field value should be either "20.04", "16.04", "14.04" (DEPRECATED), or "12.04" (DEPRECATED)')
96
+ if 'release' not in asset_conf or asset_conf['release'] not in ["24.04", "20.04", "16.04", "14.04", "12.04"]:
97
+ raise AssetBuilderException('The "release" field value should be either "24.04", "20.04", "16.04" (DEPRECATED), "14.04" (DEPRECATED), or "12.04" (DEPRECATED)')
90
98
  if 'runSpecVersion' in asset_conf:
91
99
  if asset_conf['runSpecVersion'] not in ["0", "1"]:
92
100
  raise AssetBuilderException('The "runSpecVersion" field should be either "0", or "1"')
@@ -228,16 +236,11 @@ def build_asset(args):
228
236
  builder_run_options["systemRequirements"] = {"*": {"instanceType": asset_conf["instanceType"]}}
229
237
  if dest_folder_name:
230
238
  builder_run_options["folder"] = dest_folder_name
231
- if asset_conf['release'] == "12.04":
232
- app_run_result = dxpy.api.app_run(ASSET_BUILDER_PRECISE, input_params=builder_run_options)
233
- elif asset_conf['release'] == "14.04":
234
- app_run_result = dxpy.api.app_run(ASSET_BUILDER_TRUSTY, input_params=builder_run_options)
235
- elif asset_conf['release'] == "16.04" and asset_conf['runSpecVersion'] == '1':
236
- app_run_result = dxpy.api.app_run(ASSET_BUILDER_XENIAL_V1, input_params=builder_run_options)
237
- elif asset_conf['release'] == "16.04":
238
- app_run_result = dxpy.api.app_run(ASSET_BUILDER_XENIAL, input_params=builder_run_options)
239
- elif asset_conf['release'] == "20.04":
240
- app_run_result = dxpy.api.app_run(ASSET_BUILDER_FOCAL, input_params=builder_run_options)
239
+
240
+ release = asset_conf['release']
241
+ if asset_conf['runSpecVersion'] == '1':
242
+ release += '_v1'
243
+ app_run_result = dxpy.api.app_run(ASSET_BUILDERS[release], input_params=builder_run_options)
241
244
 
242
245
  job_id = app_run_result["id"]
243
246
 
@@ -151,7 +151,8 @@ def cp(args):
151
151
  {"objects": src_objects,
152
152
  "folders": src_folders,
153
153
  "project": dest_proj,
154
- "destination": dest_path})['exists']
154
+ "destination": dest_path,
155
+ "targetFileRelocation": args.target_file_relocation})['exists']
155
156
  if len(exists) > 0:
156
157
  print(fill('The following objects already existed in the destination container ' +
157
158
  'and were left alone:') + '\n ' + '\n '.join(exists))
@@ -2,6 +2,7 @@
2
2
  "aws:ap-southeast-2": "record-Ggjx0YQ5qP61v7Q7Qq4QQ2f7",
3
3
  "aws:eu-central-1": "record-Ggjx2Jj4jbKyKxGXYfZgpJYy",
4
4
  "aws:eu-west-2-g": "record-Ggjx4qBKYFQ35Gp87ybKV28Z",
5
+ "aws:me-south-1": "record-GxFKpy135qFZjpBqPyPV0Z4F",
5
6
  "aws:us-east-1": "record-GgjvvP00GFJ5JjG1gX3Jbx6j",
6
7
  "azure:westeurope": "record-Ggjx8Z8BxzQqXY9Fv4vXBqpj",
7
8
  "azure:westus": "record-GgjxGf89ZB67Bz7f3815qk11"
@@ -2,7 +2,8 @@
2
2
  "aws:ap-southeast-2": "record-Ggjp4Fj50y9Vp27Fx8gB65fY",
3
3
  "aws:eu-central-1": "record-Ggjp62Q4PFG1K0g562PKZgbV",
4
4
  "aws:eu-west-2-g": "record-Ggjp7K2K60b11G4p2X4X8B98",
5
+ "aws:me-south-1": "record-GxFJy0V3kVvxjKfZF7p3JbGV",
5
6
  "aws:us-east-1": "record-Ggjp2p009010jB06F520vZQG",
6
7
  "azure:westeurope": "record-GgjpB2QB7Vp4Kz8FV25Q68Jv",
7
8
  "azure:westus": "record-GgjpJ509bvJ1p27Fx8gB65jg"
8
- }
9
+ }
@@ -2,6 +2,7 @@
2
2
  "aws:ap-southeast-2": "record-GpzQzk852Z6F46605Q45G2fk",
3
3
  "aws:eu-central-1": "record-GpzV15j4Gp5b5GpyJ67GX24x",
4
4
  "aws:eu-west-2-g": "record-GpzV2xXKqzvbxk4z6884j8jQ",
5
+ "aws:me-south-1": "record-GxFKf693XYGq0ZbVf1FjpjkP",
5
6
  "aws:us-east-1": "record-GpzQxg00Zb6YVFZ1bBJ0QFQY",
6
7
  "azure:westeurope": "record-GpzV6kQBGXPfFK2jBq1P5fqK",
7
8
  "azure:westus": "record-GpzVFv894pgvz7qyjKY3GJbG"
@@ -2,6 +2,7 @@
2
2
  "aws:ap-southeast-2": "record-GpyvF1Q5Ky99FPzYYgZKK1VP",
3
3
  "aws:eu-central-1": "record-GpyvGVj4gv75gPB1F7jP18kx",
4
4
  "aws:eu-west-2-g": "record-GpyvJbBKVkbzYxqfQ409202F",
5
+ "aws:me-south-1": "record-GxFJbvk3jfbfyPj9VjK660qp",
5
6
  "aws:us-east-1": "record-Gpyv8jj023vP2x068G1bZ7Zz",
6
7
  "azure:westeurope": "record-GpyvQvQB69bFPJZFgY0J3807",
7
8
  "azure:westus": "record-GpyvZ3Q9vf40pyGqgb5G7Kvp"
@@ -2,6 +2,7 @@
2
2
  "aws:ap-southeast-2": "record-GbqXZx85YkJYkXbJGx2712B0",
3
3
  "aws:eu-central-1": "record-GbqXbKQ4f06Fb6yFVJ2jf91z",
4
4
  "aws:eu-west-2-g": "record-GbqXffpKbPkPGyqxBKj4bkGP",
5
+ "aws:me-south-1": "record-GxFKjXV3v1BFj0jJ8Bz53k5Q",
5
6
  "aws:us-east-1": "record-GbqX3YQ0zF96QY6XkKgGj6zJ",
6
7
  "azure:westeurope": "record-GbqXq50By9ZZF5JpzzvZVX3F",
7
8
  "azure:westus": "record-GbqXy9Q91ggZQg52Z4Ffk84q"
@@ -2,6 +2,7 @@
2
2
  "aws:ap-southeast-2": "record-GbqVfV85P3j22G98Qk3Pbp54",
3
3
  "aws:eu-central-1": "record-GbqVj684y262YXY4gkXP12YK",
4
4
  "aws:eu-west-2-g": "record-GbqVkkpKqzF471k20pKZkpZJ",
5
+ "aws:me-south-1": "record-GxFJpgk3gX2Kf655z3KP1x80",
5
6
  "aws:us-east-1": "record-GbqVBJ80g9g6vzxj51xYzYj6",
6
7
  "azure:westeurope": "record-GbqVv98B1PXF5g7GGYVqfFjx",
7
8
  "azure:westus": "record-GbqVz1Q9K7yp85ZVKQVbVgz7"
@@ -125,6 +125,7 @@ def get_instance_type(region):
125
125
  "aws:ap-southeast-2": "mem2_ssd1_v2_x4",
126
126
  "aws:eu-central-1": "mem2_ssd1_v2_x4",
127
127
  "aws:us-east-1": "mem2_ssd1_v2_x4",
128
+ "aws:me-south-1": "mem2_ssd1_v2_x4",
128
129
  "azure:westeurope": "azure:mem2_ssd1_x4",
129
130
  "azure:westus": "azure:mem2_ssd1_x4",
130
131
  "aws:eu-west-2-g": "mem2_ssd1_v2_x4"
@@ -1037,7 +1037,8 @@ def mv(args):
1037
1037
  if src_results[0]['describe']['folder'] != dest_folder:
1038
1038
  dxpy.api.project_move(src_proj,
1039
1039
  {"objects": [result['id'] for result in src_results],
1040
- "destination": dest_folder})
1040
+ "destination": dest_folder,
1041
+ "targetFileRelocation": args.target_file_relocation})
1041
1042
  for result in src_results:
1042
1043
  dxpy.DXHTTPRequest('/' + result['id'] + '/rename',
1043
1044
  {"project": src_proj,
@@ -1065,7 +1066,8 @@ def mv(args):
1065
1066
  dxpy.api.project_move(src_proj,
1066
1067
  {"objects": src_objects,
1067
1068
  "folders": src_folders,
1068
- "destination": dest_path})
1069
+ "destination": dest_path,
1070
+ "targetFileRelocation": args.target_file_relocation})
1069
1071
  except:
1070
1072
  err_exit()
1071
1073
 
@@ -4803,6 +4805,7 @@ cp_sources_action = parser_cp.add_argument('sources', help='Objects and/or folde
4803
4805
  nargs='+')
4804
4806
  cp_sources_action.completer = DXPathCompleter()
4805
4807
  parser_cp.add_argument('destination', help=fill('Folder into which to copy the sources or new pathname (if only one source is provided). Must be in a different project/container than all source paths.', width_adjustment=-15))
4808
+ parser_cp.add_argument('--target-file-relocation', help='Allow symlink target file relocation in external storage while cloning a symlink.', action='store_true', default=False)
4806
4809
  parser_cp.set_defaults(func=cp)
4807
4810
  register_parser(parser_cp, categories='fs')
4808
4811
 
@@ -4818,6 +4821,7 @@ mv_sources_action = parser_mv.add_argument('sources', help='Objects and/or folde
4818
4821
  nargs='+')
4819
4822
  mv_sources_action.completer = DXPathCompleter()
4820
4823
  parser_mv.add_argument('destination', help=fill('Folder into which to move the sources or new pathname (if only one source is provided). Must be in the same project/container as all source paths.', width_adjustment=-15))
4824
+ parser_mv.add_argument('--target-file-relocation', help='Allow symlink target file relocation in external storage while moving a symlink.', action='store_true', default=False)
4821
4825
  parser_mv.set_defaults(func=mv)
4822
4826
  register_parser(parser_mv, categories='fs')
4823
4827
 
@@ -516,7 +516,7 @@ def _build_app_remote(mode, src_dir, publish=False, destination_override=None,
516
516
 
517
517
  app_spec = _parse_app_spec(src_dir)
518
518
  builder_versions = {"12.04": "", "14.04": "_trusty", "16.04": "_xenial",
519
- "20.04": "_focal"}
519
+ "20.04": "_focal", "24.04": "_noble"}
520
520
  release = app_spec['runSpec'].get('release')
521
521
  # Remote builder app/applet for 16.04 version 1
522
522
  if release == "16.04" and app_spec['runSpec'].get('version', '0') == '1':
@@ -0,0 +1 @@
1
+ version = '0.388.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dxpy
3
- Version: 0.387.0
3
+ Version: 0.388.0
4
4
  Summary: DNAnexus Platform API bindings for Python
5
5
  Home-page: https://github.com/dnanexus/dx-toolkit
6
6
  Author: Aleksandra Zalcman, Andrey Kislyuk, Anurag Biyani, Geet Duggal, Katherine Lai, Kurt Jensen, Marek Hrvol, Ohad Rodeh, Phil Sung
@@ -1 +0,0 @@
1
- version = '0.387.0'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes