arctrl 3.0.0__py3-none-any.whl

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 (511) hide show
  1. arctrl/__init__.py +23 -0
  2. arctrl/cwl.py +12 -0
  3. arctrl/py/CWL/__init__.py +0 -0
  4. arctrl/py/CWL/cwlprocessing_unit.py +221 -0
  5. arctrl/py/CWL/cwltypes.py +364 -0
  6. arctrl/py/CWL/decode.py +3532 -0
  7. arctrl/py/CWL/encode.py +1905 -0
  8. arctrl/py/CWL/expression_tool_description.py +192 -0
  9. arctrl/py/CWL/hash_helpers.py +60 -0
  10. arctrl/py/CWL/inputs.py +122 -0
  11. arctrl/py/CWL/operation_description.py +169 -0
  12. arctrl/py/CWL/outputs.py +171 -0
  13. arctrl/py/CWL/parameter_reference.py +74 -0
  14. arctrl/py/CWL/requirements.py +350 -0
  15. arctrl/py/CWL/tool_description.py +192 -0
  16. arctrl/py/CWL/workflow_description.py +181 -0
  17. arctrl/py/CWL/workflow_steps.py +354 -0
  18. arctrl/py/Contract/__init__.py +0 -0
  19. arctrl/py/Contract/arc.py +89 -0
  20. arctrl/py/Contract/arc_assay.py +125 -0
  21. arctrl/py/Contract/arc_investigation.py +88 -0
  22. arctrl/py/Contract/arc_run.py +291 -0
  23. arctrl/py/Contract/arc_study.py +126 -0
  24. arctrl/py/Contract/arc_workflow.py +213 -0
  25. arctrl/py/Contract/contract.py +153 -0
  26. arctrl/py/Contract/datamap.py +396 -0
  27. arctrl/py/Contract/git.py +116 -0
  28. arctrl/py/Contract/license.py +58 -0
  29. arctrl/py/Contract/validation_packages_config.py +107 -0
  30. arctrl/py/ContractIO/__init__.py +0 -0
  31. arctrl/py/ContractIO/contract_io.py +350 -0
  32. arctrl/py/ContractIO/file_system_helper.py +264 -0
  33. arctrl/py/Conversion/__init__.py +0 -0
  34. arctrl/py/Conversion/assay.py +151 -0
  35. arctrl/py/Conversion/basic.py +559 -0
  36. arctrl/py/Conversion/column_index.py +91 -0
  37. arctrl/py/Conversion/datamap.py +36 -0
  38. arctrl/py/Conversion/date_time.py +32 -0
  39. arctrl/py/Conversion/investigation.py +171 -0
  40. arctrl/py/Conversion/person.py +148 -0
  41. arctrl/py/Conversion/process.py +828 -0
  42. arctrl/py/Conversion/run.py +367 -0
  43. arctrl/py/Conversion/scholarly_article.py +163 -0
  44. arctrl/py/Conversion/study.py +99 -0
  45. arctrl/py/Conversion/table.py +229 -0
  46. arctrl/py/Conversion/workflow.py +680 -0
  47. arctrl/py/Core/Helper/__init__.py +0 -0
  48. arctrl/py/Core/Helper/collections_.py +512 -0
  49. arctrl/py/Core/Helper/date_time.py +26 -0
  50. arctrl/py/Core/Helper/hash_codes.py +60 -0
  51. arctrl/py/Core/Helper/identifier.py +290 -0
  52. arctrl/py/Core/Helper/orcid.py +42 -0
  53. arctrl/py/Core/Helper/printer.py +13 -0
  54. arctrl/py/Core/Helper/regex.py +554 -0
  55. arctrl/py/Core/Helper/sem_ver.py +71 -0
  56. arctrl/py/Core/Helper/url.py +148 -0
  57. arctrl/py/Core/Process/__init__.py +0 -0
  58. arctrl/py/Core/Process/column_index.py +280 -0
  59. arctrl/py/Core/Process/component.py +200 -0
  60. arctrl/py/Core/Process/factor.py +151 -0
  61. arctrl/py/Core/Process/factor_value.py +182 -0
  62. arctrl/py/Core/Process/material.py +74 -0
  63. arctrl/py/Core/Process/material_attribute.py +95 -0
  64. arctrl/py/Core/Process/material_attribute_value.py +184 -0
  65. arctrl/py/Core/Process/material_type.py +45 -0
  66. arctrl/py/Core/Process/process.py +477 -0
  67. arctrl/py/Core/Process/process_input.py +265 -0
  68. arctrl/py/Core/Process/process_output.py +235 -0
  69. arctrl/py/Core/Process/process_parameter_value.py +200 -0
  70. arctrl/py/Core/Process/process_sequence.py +435 -0
  71. arctrl/py/Core/Process/protocol.py +175 -0
  72. arctrl/py/Core/Process/protocol_parameter.py +98 -0
  73. arctrl/py/Core/Process/sample.py +82 -0
  74. arctrl/py/Core/Process/source.py +62 -0
  75. arctrl/py/Core/Table/__init__.py +0 -0
  76. arctrl/py/Core/Table/arc_table.py +1206 -0
  77. arctrl/py/Core/Table/arc_table_aux.py +1308 -0
  78. arctrl/py/Core/Table/arc_tables.py +574 -0
  79. arctrl/py/Core/Table/composite_cell.py +319 -0
  80. arctrl/py/Core/Table/composite_column.py +73 -0
  81. arctrl/py/Core/Table/composite_header.py +739 -0
  82. arctrl/py/Core/__init__.py +0 -0
  83. arctrl/py/Core/arc_types.py +5312 -0
  84. arctrl/py/Core/comment.py +128 -0
  85. arctrl/py/Core/comment_list.py +127 -0
  86. arctrl/py/Core/conversion.py +1375 -0
  87. arctrl/py/Core/data.py +247 -0
  88. arctrl/py/Core/data_context.py +157 -0
  89. arctrl/py/Core/data_file.py +112 -0
  90. arctrl/py/Core/datamap.py +217 -0
  91. arctrl/py/Core/identifier_setters.py +43 -0
  92. arctrl/py/Core/iproperty_value.py +36 -0
  93. arctrl/py/Core/ontology_annotation.py +298 -0
  94. arctrl/py/Core/ontology_source_reference.py +114 -0
  95. arctrl/py/Core/person.py +259 -0
  96. arctrl/py/Core/publication.py +161 -0
  97. arctrl/py/Core/template.py +231 -0
  98. arctrl/py/Core/templates.py +148 -0
  99. arctrl/py/Core/uri.py +11 -0
  100. arctrl/py/Core/value.py +188 -0
  101. arctrl/py/FileSystem/__init__.py +0 -0
  102. arctrl/py/FileSystem/commit.py +21 -0
  103. arctrl/py/FileSystem/default_gitattributes.py +1 -0
  104. arctrl/py/FileSystem/default_gitignore.py +1 -0
  105. arctrl/py/FileSystem/default_license.py +1 -0
  106. arctrl/py/FileSystem/file_system.py +58 -0
  107. arctrl/py/FileSystem/file_system_tree.py +483 -0
  108. arctrl/py/FileSystem/path.py +266 -0
  109. arctrl/py/Json/Datamap/__init__.py +0 -0
  110. arctrl/py/Json/Datamap/data_context.py +101 -0
  111. arctrl/py/Json/Datamap/datamap.py +53 -0
  112. arctrl/py/Json/Process/__init__.py +0 -0
  113. arctrl/py/Json/Process/assay_materials.py +46 -0
  114. arctrl/py/Json/Process/component.py +125 -0
  115. arctrl/py/Json/Process/factor.py +107 -0
  116. arctrl/py/Json/Process/factor_value.py +101 -0
  117. arctrl/py/Json/Process/material.py +226 -0
  118. arctrl/py/Json/Process/material_attribute.py +79 -0
  119. arctrl/py/Json/Process/material_attribute_value.py +101 -0
  120. arctrl/py/Json/Process/material_type.py +53 -0
  121. arctrl/py/Json/Process/process.py +296 -0
  122. arctrl/py/Json/Process/process_input.py +83 -0
  123. arctrl/py/Json/Process/process_output.py +67 -0
  124. arctrl/py/Json/Process/process_parameter_value.py +81 -0
  125. arctrl/py/Json/Process/protocol.py +354 -0
  126. arctrl/py/Json/Process/protocol_parameter.py +91 -0
  127. arctrl/py/Json/Process/sample.py +277 -0
  128. arctrl/py/Json/Process/source.py +214 -0
  129. arctrl/py/Json/Process/study_materials.py +52 -0
  130. arctrl/py/Json/Process/value.py +56 -0
  131. arctrl/py/Json/ROCrate/__init__.py +0 -0
  132. arctrl/py/Json/ROCrate/ldcontext.py +143 -0
  133. arctrl/py/Json/ROCrate/ldgraph.py +117 -0
  134. arctrl/py/Json/ROCrate/ldnode.py +304 -0
  135. arctrl/py/Json/ROCrate/ldref.py +44 -0
  136. arctrl/py/Json/ROCrate/ldvalue.py +102 -0
  137. arctrl/py/Json/Table/__init__.py +0 -0
  138. arctrl/py/Json/Table/arc_table.py +375 -0
  139. arctrl/py/Json/Table/cell_table.py +83 -0
  140. arctrl/py/Json/Table/composite_cell.py +136 -0
  141. arctrl/py/Json/Table/composite_header.py +67 -0
  142. arctrl/py/Json/Table/iotype.py +24 -0
  143. arctrl/py/Json/Table/oatable.py +82 -0
  144. arctrl/py/Json/Table/templates.py +281 -0
  145. arctrl/py/Json/__init__.py +0 -0
  146. arctrl/py/Json/assay.py +600 -0
  147. arctrl/py/Json/comment.py +206 -0
  148. arctrl/py/Json/context/rocrate/__init__.py +0 -0
  149. arctrl/py/Json/context/rocrate/isa_assay_context.py +101 -0
  150. arctrl/py/Json/context/rocrate/isa_comment_context.py +60 -0
  151. arctrl/py/Json/context/rocrate/isa_component_context.py +77 -0
  152. arctrl/py/Json/context/rocrate/isa_data_context.py +74 -0
  153. arctrl/py/Json/context/rocrate/isa_factor_context.py +74 -0
  154. arctrl/py/Json/context/rocrate/isa_factor_value_context.py +84 -0
  155. arctrl/py/Json/context/rocrate/isa_investigation_context.py +110 -0
  156. arctrl/py/Json/context/rocrate/isa_material_attribute_context.py +64 -0
  157. arctrl/py/Json/context/rocrate/isa_material_attribute_value_context.py +80 -0
  158. arctrl/py/Json/context/rocrate/isa_material_context.py +71 -0
  159. arctrl/py/Json/context/rocrate/isa_ontology_annotation_context.py +68 -0
  160. arctrl/py/Json/context/rocrate/isa_ontology_source_reference_context.py +75 -0
  161. arctrl/py/Json/context/rocrate/isa_organization_context.py +55 -0
  162. arctrl/py/Json/context/rocrate/isa_person_context.py +131 -0
  163. arctrl/py/Json/context/rocrate/isa_process_context.py +94 -0
  164. arctrl/py/Json/context/rocrate/isa_process_parameter_value_context.py +80 -0
  165. arctrl/py/Json/context/rocrate/isa_protocol_context.py +97 -0
  166. arctrl/py/Json/context/rocrate/isa_protocol_parameter_context.py +64 -0
  167. arctrl/py/Json/context/rocrate/isa_publication_context.py +78 -0
  168. arctrl/py/Json/context/rocrate/isa_sample_context.py +65 -0
  169. arctrl/py/Json/context/rocrate/isa_source_context.py +66 -0
  170. arctrl/py/Json/context/rocrate/isa_study_context.py +125 -0
  171. arctrl/py/Json/context/rocrate/property_value_context.py +73 -0
  172. arctrl/py/Json/context/rocrate/rocrate_context.py +81 -0
  173. arctrl/py/Json/converter_options.py +23 -0
  174. arctrl/py/Json/data.py +356 -0
  175. arctrl/py/Json/data_file.py +63 -0
  176. arctrl/py/Json/decode.py +271 -0
  177. arctrl/py/Json/encode.py +140 -0
  178. arctrl/py/Json/idtable.py +44 -0
  179. arctrl/py/Json/investigation.py +695 -0
  180. arctrl/py/Json/ontology_annotation.py +404 -0
  181. arctrl/py/Json/ontology_source_reference.py +255 -0
  182. arctrl/py/Json/person.py +658 -0
  183. arctrl/py/Json/property_value.py +359 -0
  184. arctrl/py/Json/publication.py +279 -0
  185. arctrl/py/Json/run.py +275 -0
  186. arctrl/py/Json/string_table.py +87 -0
  187. arctrl/py/Json/study.py +793 -0
  188. arctrl/py/Json/workflow.py +307 -0
  189. arctrl/py/JsonIO/Process/__init__.py +0 -0
  190. arctrl/py/JsonIO/Process/component.py +60 -0
  191. arctrl/py/JsonIO/Process/factor.py +36 -0
  192. arctrl/py/JsonIO/Process/factor_value.py +38 -0
  193. arctrl/py/JsonIO/Process/material.py +60 -0
  194. arctrl/py/JsonIO/Process/material_attribute.py +38 -0
  195. arctrl/py/JsonIO/Process/material_attribute_value.py +60 -0
  196. arctrl/py/JsonIO/Process/material_type.py +36 -0
  197. arctrl/py/JsonIO/Process/process.py +60 -0
  198. arctrl/py/JsonIO/Process/process_input.py +38 -0
  199. arctrl/py/JsonIO/Process/process_output.py +60 -0
  200. arctrl/py/JsonIO/Process/process_parameter_value.py +60 -0
  201. arctrl/py/JsonIO/Process/process_sequence.py +71 -0
  202. arctrl/py/JsonIO/Process/protocol.py +60 -0
  203. arctrl/py/JsonIO/Process/protocol_parameter.py +36 -0
  204. arctrl/py/JsonIO/Process/sample.py +60 -0
  205. arctrl/py/JsonIO/Process/source.py +60 -0
  206. arctrl/py/JsonIO/Process/study_materials.py +52 -0
  207. arctrl/py/JsonIO/Process/value.py +32 -0
  208. arctrl/py/JsonIO/Table/__init__.py +0 -0
  209. arctrl/py/JsonIO/Table/arc_table.py +103 -0
  210. arctrl/py/JsonIO/Table/composite_cell.py +36 -0
  211. arctrl/py/JsonIO/Table/composite_header.py +36 -0
  212. arctrl/py/JsonIO/Table/compression.py +67 -0
  213. arctrl/py/JsonIO/Table/iotype.py +36 -0
  214. arctrl/py/JsonIO/Table/templates.py +113 -0
  215. arctrl/py/JsonIO/__init__.py +0 -0
  216. arctrl/py/JsonIO/assay.py +113 -0
  217. arctrl/py/JsonIO/comment.py +80 -0
  218. arctrl/py/JsonIO/data.py +60 -0
  219. arctrl/py/JsonIO/data_file.py +58 -0
  220. arctrl/py/JsonIO/datamap.py +36 -0
  221. arctrl/py/JsonIO/decode.py +9 -0
  222. arctrl/py/JsonIO/encode.py +1 -0
  223. arctrl/py/JsonIO/investigation.py +91 -0
  224. arctrl/py/JsonIO/ldobject.py +106 -0
  225. arctrl/py/JsonIO/ontology_annotation.py +80 -0
  226. arctrl/py/JsonIO/ontology_source_reference.py +80 -0
  227. arctrl/py/JsonIO/person.py +82 -0
  228. arctrl/py/JsonIO/publication.py +82 -0
  229. arctrl/py/JsonIO/run.py +68 -0
  230. arctrl/py/JsonIO/study.py +114 -0
  231. arctrl/py/JsonIO/workflow.py +68 -0
  232. arctrl/py/ROCrate/ISAProfile/__init__.py +0 -0
  233. arctrl/py/ROCrate/ISAProfile/assay.py +70 -0
  234. arctrl/py/ROCrate/ISAProfile/data.py +65 -0
  235. arctrl/py/ROCrate/ISAProfile/dataset.py +24 -0
  236. arctrl/py/ROCrate/ISAProfile/investigation.py +73 -0
  237. arctrl/py/ROCrate/ISAProfile/lab_process.py +162 -0
  238. arctrl/py/ROCrate/ISAProfile/lab_protocol.py +37 -0
  239. arctrl/py/ROCrate/ISAProfile/person.py +72 -0
  240. arctrl/py/ROCrate/ISAProfile/property_value.py +98 -0
  241. arctrl/py/ROCrate/ISAProfile/sample.py +64 -0
  242. arctrl/py/ROCrate/ISAProfile/scholarly_article.py +98 -0
  243. arctrl/py/ROCrate/ISAProfile/study.py +74 -0
  244. arctrl/py/ROCrate/LDTypes/__init__.py +0 -0
  245. arctrl/py/ROCrate/LDTypes/comment.py +131 -0
  246. arctrl/py/ROCrate/LDTypes/computational_workflow.py +455 -0
  247. arctrl/py/ROCrate/LDTypes/computer_language.py +269 -0
  248. arctrl/py/ROCrate/LDTypes/create_action.py +303 -0
  249. arctrl/py/ROCrate/LDTypes/creative_work.py +566 -0
  250. arctrl/py/ROCrate/LDTypes/dataset.py +943 -0
  251. arctrl/py/ROCrate/LDTypes/defined_term.py +131 -0
  252. arctrl/py/ROCrate/LDTypes/file.py +281 -0
  253. arctrl/py/ROCrate/LDTypes/formal_parameter.py +431 -0
  254. arctrl/py/ROCrate/LDTypes/lab_process.py +352 -0
  255. arctrl/py/ROCrate/LDTypes/lab_protocol.py +395 -0
  256. arctrl/py/ROCrate/LDTypes/organization.py +83 -0
  257. arctrl/py/ROCrate/LDTypes/person.py +484 -0
  258. arctrl/py/ROCrate/LDTypes/postal_address.py +195 -0
  259. arctrl/py/ROCrate/LDTypes/property_value.py +952 -0
  260. arctrl/py/ROCrate/LDTypes/sample.py +202 -0
  261. arctrl/py/ROCrate/LDTypes/scholarly_article.py +229 -0
  262. arctrl/py/ROCrate/LDTypes/software_source_code.py +310 -0
  263. arctrl/py/ROCrate/LDTypes/workflow_invocation.py +48 -0
  264. arctrl/py/ROCrate/LDTypes/workflow_protocol.py +52 -0
  265. arctrl/py/ROCrate/__init__.py +0 -0
  266. arctrl/py/ROCrate/arc_rocrate_metadata.py +39 -0
  267. arctrl/py/ROCrate/dyn_obj_extensions.py +1 -0
  268. arctrl/py/ROCrate/helper.py +8 -0
  269. arctrl/py/ROCrate/ldcontext.py +406 -0
  270. arctrl/py/ROCrate/ldobject.py +1247 -0
  271. arctrl/py/ROCrate/rocrate_context.py +51 -0
  272. arctrl/py/Spreadsheet/AnnotationTable/__init__.py +0 -0
  273. arctrl/py/Spreadsheet/AnnotationTable/arc_table.py +203 -0
  274. arctrl/py/Spreadsheet/AnnotationTable/composite_cell.py +78 -0
  275. arctrl/py/Spreadsheet/AnnotationTable/composite_column.py +305 -0
  276. arctrl/py/Spreadsheet/AnnotationTable/composite_header.py +623 -0
  277. arctrl/py/Spreadsheet/DatamapTable/__init__.py +0 -0
  278. arctrl/py/Spreadsheet/DatamapTable/datamap_column.py +114 -0
  279. arctrl/py/Spreadsheet/DatamapTable/datamap_header.py +621 -0
  280. arctrl/py/Spreadsheet/DatamapTable/datamap_table.py +118 -0
  281. arctrl/py/Spreadsheet/Metadata/__init__.py +0 -0
  282. arctrl/py/Spreadsheet/Metadata/assays.py +125 -0
  283. arctrl/py/Spreadsheet/Metadata/comment.py +77 -0
  284. arctrl/py/Spreadsheet/Metadata/contacts.py +134 -0
  285. arctrl/py/Spreadsheet/Metadata/conversions.py +190 -0
  286. arctrl/py/Spreadsheet/Metadata/design_descriptors.py +34 -0
  287. arctrl/py/Spreadsheet/Metadata/factors.py +107 -0
  288. arctrl/py/Spreadsheet/Metadata/ontology_annotation.py +88 -0
  289. arctrl/py/Spreadsheet/Metadata/ontology_source_reference.py +96 -0
  290. arctrl/py/Spreadsheet/Metadata/protocols.py +146 -0
  291. arctrl/py/Spreadsheet/Metadata/publication.py +122 -0
  292. arctrl/py/Spreadsheet/Metadata/run.py +122 -0
  293. arctrl/py/Spreadsheet/Metadata/sparse_table.py +499 -0
  294. arctrl/py/Spreadsheet/Metadata/study.py +312 -0
  295. arctrl/py/Spreadsheet/Metadata/workflow.py +159 -0
  296. arctrl/py/Spreadsheet/__init__.py +0 -0
  297. arctrl/py/Spreadsheet/arc_assay.py +233 -0
  298. arctrl/py/Spreadsheet/arc_investigation.py +435 -0
  299. arctrl/py/Spreadsheet/arc_run.py +190 -0
  300. arctrl/py/Spreadsheet/arc_study.py +144 -0
  301. arctrl/py/Spreadsheet/arc_workflow.py +177 -0
  302. arctrl/py/Spreadsheet/assembly_info.py +1 -0
  303. arctrl/py/Spreadsheet/collection_aux.py +167 -0
  304. arctrl/py/Spreadsheet/datamap.py +43 -0
  305. arctrl/py/Spreadsheet/template.py +460 -0
  306. arctrl/py/ValidationPackages/__init__.py +0 -0
  307. arctrl/py/ValidationPackages/validation_package.py +82 -0
  308. arctrl/py/ValidationPackages/validation_packages_config.py +132 -0
  309. arctrl/py/WebRequest/__init__.py +0 -0
  310. arctrl/py/WebRequest/web_request.py +9 -0
  311. arctrl/py/WebRequest/web_request_py.py +135 -0
  312. arctrl/py/WorkflowGraph/__init__.py +0 -0
  313. arctrl/py/WorkflowGraph/adapters.py +141 -0
  314. arctrl/py/WorkflowGraph/build_options.py +45 -0
  315. arctrl/py/WorkflowGraph/builder.py +720 -0
  316. arctrl/py/WorkflowGraph/graph_types.py +260 -0
  317. arctrl/py/WorkflowGraph/query_helpers.py +76 -0
  318. arctrl/py/WorkflowGraph/reference_parsing.py +59 -0
  319. arctrl/py/WorkflowGraph/visualization_siren.py +574 -0
  320. arctrl/py/WorkflowGraph/workflow_graph.py +119 -0
  321. arctrl/py/Yaml/__init__.py +0 -0
  322. arctrl/py/Yaml/decode.py +1 -0
  323. arctrl/py/Yaml/encode.py +10 -0
  324. arctrl/py/Yaml/validation_package.py +77 -0
  325. arctrl/py/Yaml/validation_packages_config.py +86 -0
  326. arctrl/py/__init__.py +0 -0
  327. arctrl/py/arc.py +1891 -0
  328. arctrl/py/column_index.py +280 -0
  329. arctrl/py/conversion.py +142 -0
  330. arctrl/py/cross_async.py +76 -0
  331. arctrl/py/cwlrun_resolver.py +228 -0
  332. arctrl/py/fable_modules/dynamic_obj/__init__.py +0 -0
  333. arctrl/py/fable_modules/dynamic_obj/dyn_obj.py +136 -0
  334. arctrl/py/fable_modules/dynamic_obj/dynamic_obj.py +415 -0
  335. arctrl/py/fable_modules/dynamic_obj/fable_js.py +1 -0
  336. arctrl/py/fable_modules/dynamic_obj/fable_py.py +288 -0
  337. arctrl/py/fable_modules/dynamic_obj/hash_codes.py +82 -0
  338. arctrl/py/fable_modules/dynamic_obj/property_helper.py +25 -0
  339. arctrl/py/fable_modules/dynamic_obj/reflection_utils.py +87 -0
  340. arctrl/py/fable_modules/fable_library/__init__.py +0 -0
  341. arctrl/py/fable_modules/fable_library/array_.py +1528 -0
  342. arctrl/py/fable_modules/fable_library/async_.py +377 -0
  343. arctrl/py/fable_modules/fable_library/async_builder.py +379 -0
  344. arctrl/py/fable_modules/fable_library/big_int.py +330 -0
  345. arctrl/py/fable_modules/fable_library/bit_converter.py +131 -0
  346. arctrl/py/fable_modules/fable_library/boolean.py +26 -0
  347. arctrl/py/fable_modules/fable_library/char.py +237 -0
  348. arctrl/py/fable_modules/fable_library/choice.py +212 -0
  349. arctrl/py/fable_modules/fable_library/date.py +779 -0
  350. arctrl/py/fable_modules/fable_library/date_offset.py +79 -0
  351. arctrl/py/fable_modules/fable_library/decimal_.py +190 -0
  352. arctrl/py/fable_modules/fable_library/diagnostics.py +54 -0
  353. arctrl/py/fable_modules/fable_library/double.py +87 -0
  354. arctrl/py/fable_modules/fable_library/encoding.py +41 -0
  355. arctrl/py/fable_modules/fable_library/event.py +206 -0
  356. arctrl/py/fable_modules/fable_library/file.py +107 -0
  357. arctrl/py/fable_modules/fable_library/fsharp_collections.py +52 -0
  358. arctrl/py/fable_modules/fable_library/fsharp_core.py +123 -0
  359. arctrl/py/fable_modules/fable_library/global_.py +63 -0
  360. arctrl/py/fable_modules/fable_library/guid.py +41 -0
  361. arctrl/py/fable_modules/fable_library/int32.py +73 -0
  362. arctrl/py/fable_modules/fable_library/list.py +1788 -0
  363. arctrl/py/fable_modules/fable_library/long.py +240 -0
  364. arctrl/py/fable_modules/fable_library/mailbox_processor.py +179 -0
  365. arctrl/py/fable_modules/fable_library/map.py +1854 -0
  366. arctrl/py/fable_modules/fable_library/map_util.py +148 -0
  367. arctrl/py/fable_modules/fable_library/mutable_map.py +397 -0
  368. arctrl/py/fable_modules/fable_library/mutable_set.py +279 -0
  369. arctrl/py/fable_modules/fable_library/native.py +45 -0
  370. arctrl/py/fable_modules/fable_library/numeric.py +46 -0
  371. arctrl/py/fable_modules/fable_library/observable.py +222 -0
  372. arctrl/py/fable_modules/fable_library/option.py +128 -0
  373. arctrl/py/fable_modules/fable_library/path.py +62 -0
  374. arctrl/py/fable_modules/fable_library/range.py +117 -0
  375. arctrl/py/fable_modules/fable_library/reflection.py +463 -0
  376. arctrl/py/fable_modules/fable_library/reg_exp.py +137 -0
  377. arctrl/py/fable_modules/fable_library/resize_array.py +31 -0
  378. arctrl/py/fable_modules/fable_library/result.py +212 -0
  379. arctrl/py/fable_modules/fable_library/seq.py +1979 -0
  380. arctrl/py/fable_modules/fable_library/seq2.py +221 -0
  381. arctrl/py/fable_modules/fable_library/set.py +2414 -0
  382. arctrl/py/fable_modules/fable_library/singleton_local_time_zone.py +36 -0
  383. arctrl/py/fable_modules/fable_library/string_.py +573 -0
  384. arctrl/py/fable_modules/fable_library/system_collections_generic.py +462 -0
  385. arctrl/py/fable_modules/fable_library/system_text.py +237 -0
  386. arctrl/py/fable_modules/fable_library/task.py +116 -0
  387. arctrl/py/fable_modules/fable_library/task_builder.py +122 -0
  388. arctrl/py/fable_modules/fable_library/thread.py +5 -0
  389. arctrl/py/fable_modules/fable_library/time_span.py +283 -0
  390. arctrl/py/fable_modules/fable_library/timer.py +24 -0
  391. arctrl/py/fable_modules/fable_library/types.py +401 -0
  392. arctrl/py/fable_modules/fable_library/uri.py +109 -0
  393. arctrl/py/fable_modules/fable_library/util.py +2735 -0
  394. arctrl/py/fable_modules/fable_openpyxl/__init__.py +0 -0
  395. arctrl/py/fable_modules/fable_openpyxl/openpyxl.py +362 -0
  396. arctrl/py/fable_modules/fable_python/cognite-sdk/__init__.py +0 -0
  397. arctrl/py/fable_modules/fable_python/cognite-sdk/cognite_sdk.py +22 -0
  398. arctrl/py/fable_modules/fable_python/flask/__init__.py +0 -0
  399. arctrl/py/fable_modules/fable_python/flask/flask.py +34 -0
  400. arctrl/py/fable_modules/fable_python/jupyter/__init__.py +0 -0
  401. arctrl/py/fable_modules/fable_python/jupyter/ipy_widgets.py +47 -0
  402. arctrl/py/fable_modules/fable_python/jupyter/ipython.py +13 -0
  403. arctrl/py/fable_modules/fable_python/stdlib/__init__.py +0 -0
  404. arctrl/py/fable_modules/fable_python/stdlib/ast.py +1 -0
  405. arctrl/py/fable_modules/fable_python/stdlib/asyncio/__init__.py +0 -0
  406. arctrl/py/fable_modules/fable_python/stdlib/asyncio/events.py +17 -0
  407. arctrl/py/fable_modules/fable_python/stdlib/asyncio/futures.py +52 -0
  408. arctrl/py/fable_modules/fable_python/stdlib/asyncio/tasks.py +38 -0
  409. arctrl/py/fable_modules/fable_python/stdlib/base64_.py +1 -0
  410. arctrl/py/fable_modules/fable_python/stdlib/builtins_.py +38 -0
  411. arctrl/py/fable_modules/fable_python/stdlib/html.py +1 -0
  412. arctrl/py/fable_modules/fable_python/stdlib/json.py +1 -0
  413. arctrl/py/fable_modules/fable_python/stdlib/math_.py +1 -0
  414. arctrl/py/fable_modules/fable_python/stdlib/os_.py +1 -0
  415. arctrl/py/fable_modules/fable_python/stdlib/queue_.py +1 -0
  416. arctrl/py/fable_modules/fable_python/stdlib/string_.py +1 -0
  417. arctrl/py/fable_modules/fable_python/stdlib/sys_.py +30 -0
  418. arctrl/py/fable_modules/fable_python/stdlib/time_.py +1 -0
  419. arctrl/py/fable_modules/fable_python/stdlib/tk_inter.py +1 -0
  420. arctrl/py/fable_modules/fs_spreadsheet/Cells/__init__.py +0 -0
  421. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cell.py +340 -0
  422. arctrl/py/fable_modules/fs_spreadsheet/Cells/fs_cells_collection.py +466 -0
  423. arctrl/py/fable_modules/fs_spreadsheet/DSL/__init__.py +0 -0
  424. arctrl/py/fable_modules/fs_spreadsheet/DSL/cell_builder.py +214 -0
  425. arctrl/py/fable_modules/fs_spreadsheet/DSL/column_builder.py +139 -0
  426. arctrl/py/fable_modules/fs_spreadsheet/DSL/dsl.py +50 -0
  427. arctrl/py/fable_modules/fs_spreadsheet/DSL/expression.py +65 -0
  428. arctrl/py/fable_modules/fs_spreadsheet/DSL/operators.py +9 -0
  429. arctrl/py/fable_modules/fs_spreadsheet/DSL/row_builder.py +139 -0
  430. arctrl/py/fable_modules/fs_spreadsheet/DSL/sheet_builder.py +118 -0
  431. arctrl/py/fable_modules/fs_spreadsheet/DSL/table_builder.py +122 -0
  432. arctrl/py/fable_modules/fs_spreadsheet/DSL/transform.py +463 -0
  433. arctrl/py/fable_modules/fs_spreadsheet/DSL/types.py +314 -0
  434. arctrl/py/fable_modules/fs_spreadsheet/DSL/workbook_builder.py +106 -0
  435. arctrl/py/fable_modules/fs_spreadsheet/Json/__init__.py +0 -0
  436. arctrl/py/fable_modules/fs_spreadsheet/Json/cell.py +103 -0
  437. arctrl/py/fable_modules/fs_spreadsheet/Json/column.py +70 -0
  438. arctrl/py/fable_modules/fs_spreadsheet/Json/row.py +70 -0
  439. arctrl/py/fable_modules/fs_spreadsheet/Json/table.py +54 -0
  440. arctrl/py/fable_modules/fs_spreadsheet/Json/value.py +93 -0
  441. arctrl/py/fable_modules/fs_spreadsheet/Json/workbook.py +71 -0
  442. arctrl/py/fable_modules/fs_spreadsheet/Json/worksheet.py +216 -0
  443. arctrl/py/fable_modules/fs_spreadsheet/Ranges/__init__.py +0 -0
  444. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range.py +43 -0
  445. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_address.py +190 -0
  446. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_base.py +92 -0
  447. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_column.py +77 -0
  448. arctrl/py/fable_modules/fs_spreadsheet/Ranges/fs_range_row.py +48 -0
  449. arctrl/py/fable_modules/fs_spreadsheet/Tables/__init__.py +0 -0
  450. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table.py +461 -0
  451. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_field.py +117 -0
  452. arctrl/py/fable_modules/fs_spreadsheet/Tables/fs_table_row.py +23 -0
  453. arctrl/py/fable_modules/fs_spreadsheet/__init__.py +0 -0
  454. arctrl/py/fable_modules/fs_spreadsheet/fs_address.py +236 -0
  455. arctrl/py/fable_modules/fs_spreadsheet/fs_column.py +172 -0
  456. arctrl/py/fable_modules/fs_spreadsheet/fs_row.py +183 -0
  457. arctrl/py/fable_modules/fs_spreadsheet/fs_workbook.py +192 -0
  458. arctrl/py/fable_modules/fs_spreadsheet/fs_worksheet.py +610 -0
  459. arctrl/py/fable_modules/fs_spreadsheet/hash_codes.py +60 -0
  460. arctrl/py/fable_modules/fs_spreadsheet/sheet_builder.py +329 -0
  461. arctrl/py/fable_modules/fs_spreadsheet_py/__init__.py +0 -0
  462. arctrl/py/fable_modules/fs_spreadsheet_py/cell.py +60 -0
  463. arctrl/py/fable_modules/fs_spreadsheet_py/cell_type.py +50 -0
  464. arctrl/py/fable_modules/fs_spreadsheet_py/fs_extension.py +60 -0
  465. arctrl/py/fable_modules/fs_spreadsheet_py/json.py +47 -0
  466. arctrl/py/fable_modules/fs_spreadsheet_py/table.py +54 -0
  467. arctrl/py/fable_modules/fs_spreadsheet_py/workbook.py +41 -0
  468. arctrl/py/fable_modules/fs_spreadsheet_py/worksheet.py +52 -0
  469. arctrl/py/fable_modules/fs_spreadsheet_py/xlsx.py +37 -0
  470. arctrl/py/fable_modules/siren/__init__.py +0 -0
  471. arctrl/py/fable_modules/siren/config.py +1038 -0
  472. arctrl/py/fable_modules/siren/formatting.py +1121 -0
  473. arctrl/py/fable_modules/siren/siren.py +1941 -0
  474. arctrl/py/fable_modules/siren/siren_types.py +1229 -0
  475. arctrl/py/fable_modules/siren/theme_variables.py +517 -0
  476. arctrl/py/fable_modules/siren/util.py +37 -0
  477. arctrl/py/fable_modules/siren/yaml.py +101 -0
  478. arctrl/py/fable_modules/thoth_json_core/__init__.py +0 -0
  479. arctrl/py/fable_modules/thoth_json_core/decode.py +1614 -0
  480. arctrl/py/fable_modules/thoth_json_core/encode.py +305 -0
  481. arctrl/py/fable_modules/thoth_json_core/types.py +181 -0
  482. arctrl/py/fable_modules/thoth_json_python/__init__.py +0 -0
  483. arctrl/py/fable_modules/thoth_json_python/decode.py +112 -0
  484. arctrl/py/fable_modules/thoth_json_python/encode.py +72 -0
  485. arctrl/py/fable_modules/thoth_json_python/python.py +1 -0
  486. arctrl/py/fable_modules/yamlicious/Interop/__init__.py +0 -0
  487. arctrl/py/fable_modules/yamlicious/Interop/js_interop.py +1 -0
  488. arctrl/py/fable_modules/yamlicious/Interop/py_interop.py +7 -0
  489. arctrl/py/fable_modules/yamlicious/__init__.py +0 -0
  490. arctrl/py/fable_modules/yamlicious/decode.py +1784 -0
  491. arctrl/py/fable_modules/yamlicious/encode.py +84 -0
  492. arctrl/py/fable_modules/yamlicious/flow_to_block.py +994 -0
  493. arctrl/py/fable_modules/yamlicious/library.py +10 -0
  494. arctrl/py/fable_modules/yamlicious/persil.py +57 -0
  495. arctrl/py/fable_modules/yamlicious/preprocessing.py +99 -0
  496. arctrl/py/fable_modules/yamlicious/reader.py +739 -0
  497. arctrl/py/fable_modules/yamlicious/regex.py +29 -0
  498. arctrl/py/fable_modules/yamlicious/regex_active_patterns.py +265 -0
  499. arctrl/py/fable_modules/yamlicious/writer.py +175 -0
  500. arctrl/py/fable_modules/yamlicious/yamlicious_types.py +128 -0
  501. arctrl/py/json.py +389 -0
  502. arctrl/py/license.py +169 -0
  503. arctrl/py/rocrate_io.py +242 -0
  504. arctrl/py/template_web.py +23 -0
  505. arctrl/py/xlsx.py +212 -0
  506. arctrl/py/yaml.py +79 -0
  507. arctrl/rocrate.py +21 -0
  508. arctrl-3.0.0.dist-info/METADATA +157 -0
  509. arctrl-3.0.0.dist-info/RECORD +511 -0
  510. arctrl-3.0.0.dist-info/WHEEL +4 -0
  511. arctrl-3.0.0.dist-info/licenses/LICENSE +21 -0
arctrl/__init__.py ADDED
@@ -0,0 +1,23 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from .py.Contract.contract import Contract
5
+ from .py.Core.data_context import DataContext
6
+ from .py.Core.datamap import Datamap
7
+ from .py.Core.comment import Comment
8
+ from .py.Core.ontology_annotation import OntologyAnnotation
9
+ from .py.Core.person import Person
10
+ from .py.Core.publication import Publication
11
+ from .py.Core.Table.composite_header import IOType, CompositeHeader
12
+ from .py.Core.Table.composite_cell import CompositeCell
13
+ from .py.Core.Table.composite_column import CompositeColumn
14
+ from .py.Core.Table.arc_table import ArcTable
15
+ from .py.Core.Table.arc_tables import ArcTables
16
+ from .py.Core.arc_types import ArcAssay, ArcStudy, ArcRun, ArcWorkflow, ArcInvestigation
17
+ from .py.Core.template import Template
18
+ from .py.FileSystem.file_system import FileSystem
19
+ from .py.FileSystem.file_system_tree import FileSystemTree
20
+ from .py.json import JsonController
21
+ from .py.yaml import YamlController
22
+ from .py.xlsx import XlsxController
23
+ from .py.arc import ARC
arctrl/cwl.py ADDED
@@ -0,0 +1,12 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from typing import Any
4
+ from .py.CWL.cwlprocessing_unit import CWLProcessingUnit
5
+ from .py.CWL.cwltypes import CWLType, FileInstance, DirectoryInstance, DirentInstance, InputEnumSchema, InputRecordField, InputRecordSchema, InputArraySchema, SchemaDefRequirementType, SoftwarePackage
6
+ from .py.CWL.parameter_reference import CWLParameterReference
7
+ from .py.CWL.inputs import CWLInput, InputBinding
8
+ from .py.CWL.outputs import CWLOutput, OutputBinding
9
+ from .py.CWL.tool_description import CWLToolDescription
10
+ from .py.CWL.workflow_description import CWLWorkflowDescription
11
+ from .py.CWL.workflow_steps import WorkflowStep, StepInput, StepOutput
12
+ from .py.CWL.requirements import Requirement, DockerRequirement, EnvironmentDef, ResourceRequirementInstance
File without changes
@@ -0,0 +1,221 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.reflection import (TypeInfo, union_type)
4
+ from ..fable_modules.fable_library.seq import choose
5
+ from ..fable_modules.fable_library.types import (Array, Union)
6
+ from ..fable_modules.fable_library.util import IEnumerable_1
7
+ from .expression_tool_description import (CWLExpressionToolDescription_reflection, CWLExpressionToolDescription)
8
+ from .inputs import CWLInput
9
+ from .operation_description import (CWLOperationDescription_reflection, CWLOperationDescription)
10
+ from .outputs import CWLOutput
11
+ from .requirements import (Requirement, HintEntry, HintEntry_get_tryAsRequirement)
12
+ from .tool_description import (CWLToolDescription_reflection, CWLToolDescription)
13
+ from .workflow_description import (CWLWorkflowDescription_reflection, CWLWorkflowDescription)
14
+ from .workflow_steps import WorkflowStepRun
15
+
16
+ def _expr772() -> TypeInfo:
17
+ return union_type("ARCtrl.CWL.CWLProcessingUnit", [], CWLProcessingUnit, lambda: [[("Item", CWLToolDescription_reflection())], [("Item", CWLWorkflowDescription_reflection())], [("Item", CWLExpressionToolDescription_reflection())], [("Item", CWLOperationDescription_reflection())]])
18
+
19
+
20
+ class CWLProcessingUnit(Union):
21
+ def __init__(self, tag: int, *fields: Any) -> None:
22
+ super().__init__()
23
+ self.tag: int = tag or 0
24
+ self.fields: Array[Any] = list(fields)
25
+
26
+ @staticmethod
27
+ def cases() -> list[str]:
28
+ return ["CommandLineTool", "Workflow", "ExpressionTool", "Operation"]
29
+
30
+
31
+ CWLProcessingUnit_reflection = _expr772
32
+
33
+ def CWLProcessingUnit_getInputs_30922B92(processing_unit: CWLProcessingUnit) -> Array[CWLInput]:
34
+ if processing_unit.tag == 1:
35
+ return CWLWorkflowDescription.get_inputs(processing_unit.fields[0])
36
+
37
+ elif processing_unit.tag == 2:
38
+ return CWLExpressionToolDescription.get_inputs_or_empty(processing_unit.fields[0])
39
+
40
+ elif processing_unit.tag == 3:
41
+ return CWLOperationDescription.get_inputs(processing_unit.fields[0])
42
+
43
+ else:
44
+ return CWLToolDescription.get_inputs_or_empty(processing_unit.fields[0])
45
+
46
+
47
+
48
+ def CWLProcessingUnit_getOutputs_30922B92(processing_unit: CWLProcessingUnit) -> Array[CWLOutput]:
49
+ if processing_unit.tag == 1:
50
+ return CWLWorkflowDescription.get_outputs(processing_unit.fields[0])
51
+
52
+ elif processing_unit.tag == 2:
53
+ return CWLExpressionToolDescription.get_outputs(processing_unit.fields[0])
54
+
55
+ elif processing_unit.tag == 3:
56
+ return CWLOperationDescription.get_outputs(processing_unit.fields[0])
57
+
58
+ else:
59
+ return CWLToolDescription.get_outputs(processing_unit.fields[0])
60
+
61
+
62
+
63
+ def CWLProcessingUnit_getRequirements_30922B92(processing_unit: CWLProcessingUnit) -> Array[Requirement]:
64
+ if processing_unit.tag == 1:
65
+ return CWLWorkflowDescription.get_requirements_or_empty(processing_unit.fields[0])
66
+
67
+ elif processing_unit.tag == 2:
68
+ return CWLExpressionToolDescription.get_requirements_or_empty(processing_unit.fields[0])
69
+
70
+ elif processing_unit.tag == 3:
71
+ return CWLOperationDescription.get_requirements_or_empty(processing_unit.fields[0])
72
+
73
+ else:
74
+ return CWLToolDescription.get_requirements_or_empty(processing_unit.fields[0])
75
+
76
+
77
+
78
+ def CWLProcessingUnit_getHints_30922B92(processing_unit: CWLProcessingUnit) -> Array[HintEntry]:
79
+ if processing_unit.tag == 1:
80
+ return CWLWorkflowDescription.get_hints_or_empty(processing_unit.fields[0])
81
+
82
+ elif processing_unit.tag == 2:
83
+ return CWLExpressionToolDescription.get_hints_or_empty(processing_unit.fields[0])
84
+
85
+ elif processing_unit.tag == 3:
86
+ return CWLOperationDescription.get_hints_or_empty(processing_unit.fields[0])
87
+
88
+ else:
89
+ return CWLToolDescription.get_hints_or_empty(processing_unit.fields[0])
90
+
91
+
92
+
93
+ def CWLProcessingUnit_getIntent_30922B92(processing_unit: CWLProcessingUnit) -> Array[str]:
94
+ if processing_unit.tag == 1:
95
+ return CWLWorkflowDescription.get_intent_or_empty(processing_unit.fields[0])
96
+
97
+ elif processing_unit.tag == 2:
98
+ return CWLExpressionToolDescription.get_intent_or_empty(processing_unit.fields[0])
99
+
100
+ elif processing_unit.tag == 3:
101
+ return CWLOperationDescription.get_intent_or_empty(processing_unit.fields[0])
102
+
103
+ else:
104
+ return CWLToolDescription.get_intent_or_empty(processing_unit.fields[0])
105
+
106
+
107
+
108
+ def CWLProcessingUnit_getKnownHints_30922B92(processing_unit: CWLProcessingUnit) -> Array[Requirement]:
109
+ def _arrow773(__unit: None=None, processing_unit: Any=processing_unit) -> IEnumerable_1[Requirement]:
110
+ source: Array[HintEntry] = CWLProcessingUnit_getHints_30922B92(processing_unit)
111
+ return choose(HintEntry_get_tryAsRequirement(), source)
112
+
113
+ return list(_arrow773())
114
+
115
+
116
+ def WorkflowStepRunOps_fromTool(tool: CWLToolDescription) -> WorkflowStepRun:
117
+ return WorkflowStepRun(1, tool)
118
+
119
+
120
+ def WorkflowStepRunOps_fromWorkflow(workflow: CWLWorkflowDescription) -> WorkflowStepRun:
121
+ return WorkflowStepRun(2, workflow)
122
+
123
+
124
+ def WorkflowStepRunOps_fromExpressionTool(expression_tool: CWLExpressionToolDescription) -> WorkflowStepRun:
125
+ return WorkflowStepRun(3, expression_tool)
126
+
127
+
128
+ def WorkflowStepRunOps_fromOperation(operation: CWLOperationDescription) -> WorkflowStepRun:
129
+ return WorkflowStepRun(4, operation)
130
+
131
+
132
+ def WorkflowStepRunOps_tryGetTool(run: WorkflowStepRun) -> CWLToolDescription | None:
133
+ (pattern_matching_result, tool) = (None, None)
134
+ if run.tag == 1:
135
+ if isinstance(run.fields[0], CWLToolDescription):
136
+ pattern_matching_result = 0
137
+ tool = run.fields[0]
138
+
139
+ else:
140
+ pattern_matching_result = 1
141
+
142
+
143
+ else:
144
+ pattern_matching_result = 1
145
+
146
+ if pattern_matching_result == 0:
147
+ return tool
148
+
149
+ elif pattern_matching_result == 1:
150
+ return None
151
+
152
+
153
+
154
+ def WorkflowStepRunOps_tryGetWorkflow(run: WorkflowStepRun) -> CWLWorkflowDescription | None:
155
+ (pattern_matching_result, workflow) = (None, None)
156
+ if run.tag == 2:
157
+ if isinstance(run.fields[0], CWLWorkflowDescription):
158
+ pattern_matching_result = 0
159
+ workflow = run.fields[0]
160
+
161
+ else:
162
+ pattern_matching_result = 1
163
+
164
+
165
+ else:
166
+ pattern_matching_result = 1
167
+
168
+ if pattern_matching_result == 0:
169
+ return workflow
170
+
171
+ elif pattern_matching_result == 1:
172
+ return None
173
+
174
+
175
+
176
+ def WorkflowStepRunOps_tryGetExpressionTool(run: WorkflowStepRun) -> CWLExpressionToolDescription | None:
177
+ (pattern_matching_result, expression_tool) = (None, None)
178
+ if run.tag == 3:
179
+ if isinstance(run.fields[0], CWLExpressionToolDescription):
180
+ pattern_matching_result = 0
181
+ expression_tool = run.fields[0]
182
+
183
+ else:
184
+ pattern_matching_result = 1
185
+
186
+
187
+ else:
188
+ pattern_matching_result = 1
189
+
190
+ if pattern_matching_result == 0:
191
+ return expression_tool
192
+
193
+ elif pattern_matching_result == 1:
194
+ return None
195
+
196
+
197
+
198
+ def WorkflowStepRunOps_tryGetOperation(run: WorkflowStepRun) -> CWLOperationDescription | None:
199
+ (pattern_matching_result, operation) = (None, None)
200
+ if run.tag == 4:
201
+ if isinstance(run.fields[0], CWLOperationDescription):
202
+ pattern_matching_result = 0
203
+ operation = run.fields[0]
204
+
205
+ else:
206
+ pattern_matching_result = 1
207
+
208
+
209
+ else:
210
+ pattern_matching_result = 1
211
+
212
+ if pattern_matching_result == 0:
213
+ return operation
214
+
215
+ elif pattern_matching_result == 1:
216
+ return None
217
+
218
+
219
+
220
+ __all__ = ["CWLProcessingUnit_reflection", "CWLProcessingUnit_getInputs_30922B92", "CWLProcessingUnit_getOutputs_30922B92", "CWLProcessingUnit_getRequirements_30922B92", "CWLProcessingUnit_getHints_30922B92", "CWLProcessingUnit_getIntent_30922B92", "CWLProcessingUnit_getKnownHints_30922B92", "WorkflowStepRunOps_fromTool", "WorkflowStepRunOps_fromWorkflow", "WorkflowStepRunOps_fromExpressionTool", "WorkflowStepRunOps_fromOperation", "WorkflowStepRunOps_tryGetTool", "WorkflowStepRunOps_tryGetWorkflow", "WorkflowStepRunOps_tryGetExpressionTool", "WorkflowStepRunOps_tryGetOperation"]
221
+
@@ -0,0 +1,364 @@
1
+ from __future__ import annotations
2
+ from dataclasses import dataclass
3
+ from typing import Any
4
+ from ..fable_modules.dynamic_obj.dynamic_obj import (DynamicObj, DynamicObj_reflection)
5
+ from ..fable_modules.fable_library.reflection import (TypeInfo, string_type, union_type, class_type, option_type, bool_type, record_type, array_type)
6
+ from ..fable_modules.fable_library.seq import (for_all2, to_list, map)
7
+ from ..fable_modules.fable_library.string_ import (to_text, printf)
8
+ from ..fable_modules.fable_library.types import (Array, Union, Record)
9
+ from ..fable_modules.fable_library.util import (identity_hash, equals, array_hash, safe_hash, number_hash)
10
+
11
+ def _expr726() -> TypeInfo:
12
+ return union_type("ARCtrl.CWL.SchemaSaladString", [], SchemaSaladString, lambda: [[("Item", string_type)], [("Item", string_type)], [("Item", string_type)]])
13
+
14
+
15
+ class SchemaSaladString(Union):
16
+ def __init__(self, tag: int, *fields: Any) -> None:
17
+ super().__init__()
18
+ self.tag: int = tag or 0
19
+ self.fields: Array[Any] = list(fields)
20
+
21
+ @staticmethod
22
+ def cases() -> list[str]:
23
+ return ["Literal", "Include", "Import"]
24
+
25
+
26
+ SchemaSaladString_reflection = _expr726
27
+
28
+ def SchemaSaladString__get_Value(this: SchemaSaladString) -> str:
29
+ (pattern_matching_result, value) = (None, None)
30
+ if this.tag == 1:
31
+ pattern_matching_result = 0
32
+ value = this.fields[0]
33
+
34
+ elif this.tag == 2:
35
+ pattern_matching_result = 0
36
+ value = this.fields[0]
37
+
38
+ else:
39
+ pattern_matching_result = 0
40
+ value = this.fields[0]
41
+
42
+ if pattern_matching_result == 0:
43
+ return value
44
+
45
+
46
+
47
+ def SchemaSaladString__get_AsDirectiveString(this: SchemaSaladString) -> str:
48
+ if this.tag == 1:
49
+ return to_text(printf("$include: %s"))(this.fields[0])
50
+
51
+ elif this.tag == 2:
52
+ return to_text(printf("$import: %s"))(this.fields[0])
53
+
54
+ else:
55
+ return this.fields[0]
56
+
57
+
58
+
59
+ def SchemaSaladStringModule_literal(value: str) -> SchemaSaladString:
60
+ return SchemaSaladString(0, value)
61
+
62
+
63
+ def SchemaSaladStringModule_includePath(value: str) -> SchemaSaladString:
64
+ return SchemaSaladString(1, value)
65
+
66
+
67
+ def SchemaSaladStringModule_importPath(value: str) -> SchemaSaladString:
68
+ return SchemaSaladString(2, value)
69
+
70
+
71
+ def SchemaSaladStringModule_value(salad_string: SchemaSaladString) -> str:
72
+ return SchemaSaladString__get_Value(salad_string)
73
+
74
+
75
+ def SchemaSaladStringModule_toDirectiveString(salad_string: SchemaSaladString) -> str:
76
+ return SchemaSaladString__get_AsDirectiveString(salad_string)
77
+
78
+
79
+ def _expr727() -> TypeInfo:
80
+ return class_type("ARCtrl.CWL.FileInstance", None, FileInstance, DynamicObj_reflection())
81
+
82
+
83
+ class FileInstance(DynamicObj):
84
+ def __init__(self, __unit: None=None) -> None:
85
+ super().__init__()
86
+ pass
87
+
88
+ def __hash__(self, __unit: None=None) -> int:
89
+ this: FileInstance = self
90
+ return identity_hash(this.DeepCopyProperties())
91
+
92
+ def __eq__(self, o: Any=None) -> bool:
93
+ this: FileInstance = self
94
+ return this.StructurallyEquals(o) if isinstance(o, FileInstance) else False
95
+
96
+
97
+ FileInstance_reflection = _expr727
98
+
99
+ def FileInstance__ctor(__unit: None=None) -> FileInstance:
100
+ return FileInstance(__unit)
101
+
102
+
103
+ def _expr728() -> TypeInfo:
104
+ return class_type("ARCtrl.CWL.DirectoryInstance", None, DirectoryInstance, DynamicObj_reflection())
105
+
106
+
107
+ class DirectoryInstance(DynamicObj):
108
+ def __init__(self, __unit: None=None) -> None:
109
+ super().__init__()
110
+ pass
111
+
112
+ def __eq__(self, o: Any=None) -> bool:
113
+ this: DirectoryInstance = self
114
+ return this.StructurallyEquals(o) if isinstance(o, DirectoryInstance) else False
115
+
116
+ def __hash__(self, __unit: None=None) -> int:
117
+ this: DirectoryInstance = self
118
+ return identity_hash(this.DeepCopyProperties())
119
+
120
+
121
+ DirectoryInstance_reflection = _expr728
122
+
123
+ def DirectoryInstance__ctor(__unit: None=None) -> DirectoryInstance:
124
+ return DirectoryInstance(__unit)
125
+
126
+
127
+ def _expr729() -> TypeInfo:
128
+ return record_type("ARCtrl.CWL.DirentInstance", [], DirentInstance, lambda: [("Entry", SchemaSaladString_reflection()), ("Entryname", option_type(SchemaSaladString_reflection())), ("Writable", option_type(bool_type))])
129
+
130
+
131
+ @dataclass(eq = False, repr = False, slots = True)
132
+ class DirentInstance(Record):
133
+ Entry: SchemaSaladString
134
+ Entryname: SchemaSaladString | None
135
+ Writable: bool | None
136
+
137
+ DirentInstance_reflection = _expr729
138
+
139
+ def _expr731() -> TypeInfo:
140
+ return record_type("ARCtrl.CWL.InputEnumSchema", [], InputEnumSchema, lambda: [("Symbols", array_type(string_type)), ("Label", option_type(string_type)), ("Doc", option_type(string_type)), ("Name", option_type(string_type))])
141
+
142
+
143
+ @dataclass(eq = False, repr = False, slots = True)
144
+ class InputEnumSchema(Record):
145
+ Symbols: Array[str]
146
+ Label: str | None
147
+ Doc: str | None
148
+ Name: str | None
149
+ def __eq__(self, o: Any=None) -> bool:
150
+ this: InputEnumSchema = self
151
+ def _arrow730(x: str, y: str) -> bool:
152
+ return x == y
153
+
154
+ return (for_all2(_arrow730, this.Symbols, o.Symbols) if ((len(this.Symbols) == len(o.Symbols)) if (equals(this.Name, o.Name) if (equals(this.Doc, o.Doc) if equals(this.Label, o.Label) else False) else False) else False) else False) if isinstance(o, InputEnumSchema) else False
155
+
156
+ def __hash__(self, __unit: None=None) -> int:
157
+ this: InputEnumSchema = self
158
+ return array_hash((to_list(this.Symbols), this.Label, this.Doc, this.Name))
159
+
160
+
161
+ InputEnumSchema_reflection = _expr731
162
+
163
+ def _expr732() -> TypeInfo:
164
+ return record_type("ARCtrl.CWL.InputRecordField", [], InputRecordField, lambda: [("Name", string_type), ("Type", CWLType_reflection()), ("Doc", option_type(string_type)), ("Label", option_type(string_type))])
165
+
166
+
167
+ @dataclass(eq = False, repr = False, slots = True)
168
+ class InputRecordField(Record):
169
+ Name: str
170
+ Type: CWLType
171
+ Doc: str | None
172
+ Label: str | None
173
+ def __eq__(self, o: Any=None) -> bool:
174
+ this: InputRecordField = self
175
+ return (equals(this.Label, o.Label) if (equals(this.Doc, o.Doc) if (equals(this.Type, o.Type) if (this.Name == o.Name) else False) else False) else False) if isinstance(o, InputRecordField) else False
176
+
177
+ def __hash__(self, __unit: None=None) -> int:
178
+ this: InputRecordField = self
179
+ return array_hash((this.Name, this.Type, this.Doc, this.Label))
180
+
181
+
182
+ InputRecordField_reflection = _expr732
183
+
184
+ def _expr733() -> TypeInfo:
185
+ return record_type("ARCtrl.CWL.InputRecordSchema", [], InputRecordSchema, lambda: [("Fields", option_type(array_type(InputRecordField_reflection()))), ("Label", option_type(string_type)), ("Doc", option_type(string_type)), ("Name", option_type(string_type))])
186
+
187
+
188
+ @dataclass(eq = False, repr = False, slots = True)
189
+ class InputRecordSchema(Record):
190
+ Fields: Array[InputRecordField] | None
191
+ Label: str | None
192
+ Doc: str | None
193
+ Name: str | None
194
+ def __eq__(self, o: Any=None) -> bool:
195
+ this: InputRecordSchema = self
196
+ if isinstance(o, InputRecordSchema):
197
+ if equals(this.Name, o.Name) if (equals(this.Doc, o.Doc) if equals(this.Label, o.Label) else False) else False:
198
+ match_value: Array[InputRecordField] | None = this.Fields
199
+ match_value_1: Array[InputRecordField] | None = o.Fields
200
+ (pattern_matching_result, f1, f2) = (None, None, None)
201
+ if match_value is not None:
202
+ if match_value_1 is not None:
203
+ pattern_matching_result = 1
204
+ f1 = match_value
205
+ f2 = match_value_1
206
+
207
+ else:
208
+ pattern_matching_result = 2
209
+
210
+
211
+ elif match_value_1 is None:
212
+ pattern_matching_result = 0
213
+
214
+ else:
215
+ pattern_matching_result = 2
216
+
217
+ if pattern_matching_result == 0:
218
+ return True
219
+
220
+ elif pattern_matching_result == 1:
221
+ return for_all2(equals, f1, f2) if (len(f1) == len(f2)) else False
222
+
223
+ elif pattern_matching_result == 2:
224
+ return False
225
+
226
+
227
+ else:
228
+ return False
229
+
230
+
231
+ else:
232
+ return False
233
+
234
+
235
+ def __hash__(self, __unit: None=None) -> int:
236
+ this: InputRecordSchema = self
237
+ return array_hash((this.Fields, this.Label, this.Doc, this.Name))
238
+
239
+
240
+ InputRecordSchema_reflection = _expr733
241
+
242
+ def _expr734() -> TypeInfo:
243
+ return record_type("ARCtrl.CWL.InputArraySchema", [], InputArraySchema, lambda: [("Items", CWLType_reflection()), ("Label", option_type(string_type)), ("Doc", option_type(string_type)), ("Name", option_type(string_type))])
244
+
245
+
246
+ @dataclass(eq = False, repr = False, slots = True)
247
+ class InputArraySchema(Record):
248
+ Items: CWLType
249
+ Label: str | None
250
+ Doc: str | None
251
+ Name: str | None
252
+ def __eq__(self, o: Any=None) -> bool:
253
+ this: InputArraySchema = self
254
+ return (equals(this.Name, o.Name) if (equals(this.Doc, o.Doc) if (equals(this.Label, o.Label) if equals(this.Items, o.Items) else False) else False) else False) if isinstance(o, InputArraySchema) else False
255
+
256
+ def __hash__(self, __unit: None=None) -> int:
257
+ this: InputArraySchema = self
258
+ return array_hash((this.Items, this.Label, this.Doc, this.Name))
259
+
260
+
261
+ InputArraySchema_reflection = _expr734
262
+
263
+ def _expr735() -> TypeInfo:
264
+ return union_type("ARCtrl.CWL.CWLType", [], CWLType, lambda: [[("Item", FileInstance_reflection())], [("Item", DirectoryInstance_reflection())], [("Item", DirentInstance_reflection())], [], [], [], [], [], [], [], [], [("Item", InputArraySchema_reflection())], [("Item", InputRecordSchema_reflection())], [("Item", InputEnumSchema_reflection())], [("Item", array_type(CWLType_reflection()))]])
265
+
266
+
267
+ class CWLType(Union):
268
+ def __init__(self, tag: int, *fields: Any) -> None:
269
+ super().__init__()
270
+ self.tag: int = tag or 0
271
+ self.fields: Array[Any] = list(fields)
272
+
273
+ @staticmethod
274
+ def cases() -> list[str]:
275
+ return ["File", "Directory", "Dirent", "String", "Int", "Long", "Float", "Double", "Boolean", "Stdout", "Null", "Array", "Record", "Enum", "Union"]
276
+
277
+ def __eq__(self, o: Any=None) -> bool:
278
+ this: CWLType = self
279
+ return ((equals(this.fields[0], o.fields[0]) if (o.tag == 1) else False) if (this.tag == 1) else ((equals(this.fields[0], o.fields[0]) if (o.tag == 2) else False) if (this.tag == 2) else ((True if (o.tag == 3) else False) if (this.tag == 3) else ((True if (o.tag == 4) else False) if (this.tag == 4) else ((True if (o.tag == 5) else False) if (this.tag == 5) else ((True if (o.tag == 6) else False) if (this.tag == 6) else ((True if (o.tag == 7) else False) if (this.tag == 7) else ((True if (o.tag == 8) else False) if (this.tag == 8) else ((True if (o.tag == 9) else False) if (this.tag == 9) else ((True if (o.tag == 10) else False) if (this.tag == 10) else ((equals(this.fields[0], o.fields[0]) if (o.tag == 11) else False) if (this.tag == 11) else ((equals(this.fields[0], o.fields[0]) if (o.tag == 12) else False) if (this.tag == 12) else ((equals(this.fields[0], o.fields[0]) if (o.tag == 13) else False) if (this.tag == 13) else (((for_all2(equals, this.fields[0], o.fields[0]) if (len(this.fields[0]) == len(o.fields[0])) else False) if (o.tag == 14) else False) if (this.tag == 14) else (equals(this.fields[0], o.fields[0]) if (o.tag == 0) else False))))))))))))))) if isinstance(o, CWLType) else False
280
+
281
+ def __hash__(self, __unit: None=None) -> int:
282
+ this: CWLType = self
283
+ if this.tag == 1:
284
+ return array_hash((1, safe_hash(this.fields[0])))
285
+
286
+ elif this.tag == 2:
287
+ return array_hash((2, this.fields[0]))
288
+
289
+ elif this.tag == 3:
290
+ return number_hash(3)
291
+
292
+ elif this.tag == 4:
293
+ return number_hash(4)
294
+
295
+ elif this.tag == 5:
296
+ return number_hash(5)
297
+
298
+ elif this.tag == 6:
299
+ return number_hash(6)
300
+
301
+ elif this.tag == 7:
302
+ return number_hash(7)
303
+
304
+ elif this.tag == 8:
305
+ return number_hash(8)
306
+
307
+ elif this.tag == 9:
308
+ return number_hash(9)
309
+
310
+ elif this.tag == 10:
311
+ return number_hash(10)
312
+
313
+ elif this.tag == 11:
314
+ return array_hash((11, this.fields[0]))
315
+
316
+ elif this.tag == 12:
317
+ return array_hash((12, this.fields[0]))
318
+
319
+ elif this.tag == 13:
320
+ return array_hash((13, this.fields[0]))
321
+
322
+ elif this.tag == 14:
323
+ return array_hash((14, to_list(map(safe_hash, this.fields[0]))))
324
+
325
+ else:
326
+ return array_hash((0, safe_hash(this.fields[0])))
327
+
328
+
329
+
330
+ CWLType_reflection = _expr735
331
+
332
+ def CWLType_file(__unit: None=None) -> CWLType:
333
+ return CWLType(0, FileInstance__ctor())
334
+
335
+
336
+ def CWLType_directory(__unit: None=None) -> CWLType:
337
+ return CWLType(1, DirectoryInstance__ctor())
338
+
339
+
340
+ def _expr736() -> TypeInfo:
341
+ return record_type("ARCtrl.CWL.SchemaDefRequirementType", [], SchemaDefRequirementType, lambda: [("Name", string_type), ("Type_", CWLType_reflection())])
342
+
343
+
344
+ @dataclass(eq = False, repr = False, slots = True)
345
+ class SchemaDefRequirementType(Record):
346
+ Name: str
347
+ Type_: CWLType
348
+
349
+ SchemaDefRequirementType_reflection = _expr736
350
+
351
+ def _expr737() -> TypeInfo:
352
+ return record_type("ARCtrl.CWL.SoftwarePackage", [], SoftwarePackage, lambda: [("Package", string_type), ("Version", option_type(array_type(string_type))), ("Specs", option_type(array_type(string_type)))])
353
+
354
+
355
+ @dataclass(eq = False, repr = False, slots = True)
356
+ class SoftwarePackage(Record):
357
+ Package: str
358
+ Version: Array[str] | None
359
+ Specs: Array[str] | None
360
+
361
+ SoftwarePackage_reflection = _expr737
362
+
363
+ __all__ = ["SchemaSaladString_reflection", "SchemaSaladString__get_Value", "SchemaSaladString__get_AsDirectiveString", "SchemaSaladStringModule_literal", "SchemaSaladStringModule_includePath", "SchemaSaladStringModule_importPath", "SchemaSaladStringModule_value", "SchemaSaladStringModule_toDirectiveString", "FileInstance_reflection", "DirectoryInstance_reflection", "DirentInstance_reflection", "InputEnumSchema_reflection", "InputRecordField_reflection", "InputRecordSchema_reflection", "InputArraySchema_reflection", "CWLType_reflection", "CWLType_file", "CWLType_directory", "SchemaDefRequirementType_reflection", "SoftwarePackage_reflection"]
364
+