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
@@ -0,0 +1,291 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.option import (default_arg, value)
5
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
6
+ from ..fable_modules.fable_library.types import Array
7
+ from ..fable_modules.fable_library.util import IEnumerable_1
8
+ from ..Core.arc_types import ArcRun
9
+ from ..Core.Helper.identifier import (Run_fileNameFromIdentifier, Run_cwlFileNameFromIdentifier, Run_ymlFileNameFromIdentifier)
10
+ from ..CWL.cwlprocessing_unit import CWLProcessingUnit
11
+ from ..CWL.decode import (Decode_decodeCWLProcessingUnit, DecodeParameters_decodeYAMLParameterFile)
12
+ from ..CWL.encode import encode_processing_unit
13
+ from ..CWL.parameter_reference import CWLParameterReference
14
+ from ..FileSystem.file_system_tree import FileSystemTree
15
+ from ..FileSystem.path import (combine_many, get_run_folder_path)
16
+ from ..Spreadsheet.arc_run import (ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8, ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D)
17
+ from .contract import (Contract, DTOType, DTO)
18
+
19
+ def _007CRunPath_007C__007C(input: Array[str]) -> str | None:
20
+ (pattern_matching_result,) = (None,)
21
+ def _arrow4158(x: str, y: str, input: Any=input) -> bool:
22
+ return x == y
23
+
24
+ if (len(input) == 3) if (not equals_with(_arrow4158, input, None)) else False:
25
+ if input[0] == "runs":
26
+ if input[2] == "isa.run.xlsx":
27
+ pattern_matching_result = 0
28
+
29
+ else:
30
+ pattern_matching_result = 1
31
+
32
+
33
+ else:
34
+ pattern_matching_result = 1
35
+
36
+
37
+ else:
38
+ pattern_matching_result = 1
39
+
40
+ if pattern_matching_result == 0:
41
+ any_run_name: str = input[1]
42
+ return combine_many(input)
43
+
44
+ elif pattern_matching_result == 1:
45
+ return None
46
+
47
+
48
+
49
+ def _007CRunCWLPath_007C__007C(input: Array[str]) -> str | None:
50
+ (pattern_matching_result,) = (None,)
51
+ def _arrow4159(x: str, y: str, input: Any=input) -> bool:
52
+ return x == y
53
+
54
+ if (len(input) == 3) if (not equals_with(_arrow4159, input, None)) else False:
55
+ if input[0] == "runs":
56
+ if input[2] == "run.cwl":
57
+ pattern_matching_result = 0
58
+
59
+ else:
60
+ pattern_matching_result = 1
61
+
62
+
63
+ else:
64
+ pattern_matching_result = 1
65
+
66
+
67
+ else:
68
+ pattern_matching_result = 1
69
+
70
+ if pattern_matching_result == 0:
71
+ any_run_name: str = input[1]
72
+ return combine_many(input)
73
+
74
+ elif pattern_matching_result == 1:
75
+ return None
76
+
77
+
78
+
79
+ def _007CRunYMLPath_007C__007C(input: Array[str]) -> str | None:
80
+ (pattern_matching_result,) = (None,)
81
+ def _arrow4160(x: str, y: str, input: Any=input) -> bool:
82
+ return x == y
83
+
84
+ if (len(input) == 3) if (not equals_with(_arrow4160, input, None)) else False:
85
+ if input[0] == "runs":
86
+ if input[2] == "run.yml":
87
+ pattern_matching_result = 0
88
+
89
+ else:
90
+ pattern_matching_result = 1
91
+
92
+
93
+ else:
94
+ pattern_matching_result = 1
95
+
96
+
97
+ else:
98
+ pattern_matching_result = 1
99
+
100
+ if pattern_matching_result == 0:
101
+ any_run_name: str = input[1]
102
+ return combine_many(input)
103
+
104
+ elif pattern_matching_result == 1:
105
+ return None
106
+
107
+
108
+
109
+ def ARCtrl_ArcRun__ArcRun_ToCreateContract_6FCE9E49(this: ArcRun, WithFolder: bool | None=None) -> Array[Contract]:
110
+ with_folder: bool = default_arg(WithFolder, False)
111
+ path: str = Run_fileNameFromIdentifier(this.Identifier)
112
+ c: Contract = Contract.create_create(path, DTOType(3), DTO(0, ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(this)))
113
+ def _arrow4166(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
114
+ def _arrow4162(__unit: None=None) -> IEnumerable_1[Contract]:
115
+ folder_fs: FileSystemTree = FileSystemTree.create_runs_folder([FileSystemTree.create_run_folder(this.Identifier)])
116
+ def _arrow4161(p: str) -> IEnumerable_1[Contract]:
117
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "runs/.gitkeep") if (p != path) else False) else empty()
118
+
119
+ return collect(_arrow4161, folder_fs.ToFilePaths(False))
120
+
121
+ def _arrow4165(__unit: None=None) -> IEnumerable_1[Contract]:
122
+ def _arrow4163(__unit: None=None) -> IEnumerable_1[Contract]:
123
+ path_1: str = Run_cwlFileNameFromIdentifier(this.Identifier)
124
+ dto: str = encode_processing_unit(value(this.CWLDescription))
125
+ return singleton(Contract.create_create(path_1, DTOType(8), DTO(1, dto)))
126
+
127
+ def _arrow4164(__unit: None=None) -> IEnumerable_1[Contract]:
128
+ return singleton(c)
129
+
130
+ return append(_arrow4163() if (this.CWLDescription is not None) else empty(), delay(_arrow4164))
131
+
132
+ return append(_arrow4162() if with_folder else empty(), delay(_arrow4165))
133
+
134
+ return to_array(delay(_arrow4166))
135
+
136
+
137
+ def ARCtrl_ArcRun__ArcRun_ToUpdateContract(this: ArcRun) -> Contract:
138
+ path: str = Run_fileNameFromIdentifier(this.Identifier)
139
+ return Contract.create_update(path, DTOType(3), DTO(0, ARCtrl_ArcRun__ArcRun_toFsWorkbook_Static_Z3EFAF6F8(this)))
140
+
141
+
142
+ def ARCtrl_ArcRun__ArcRun_ToDeleteContract(this: ArcRun) -> Contract:
143
+ path: str = get_run_folder_path(this.Identifier)
144
+ return Contract.create_delete(path)
145
+
146
+
147
+ def ARCtrl_ArcRun__ArcRun_toDeleteContract_Static_Z3EFAF6F8(run: ArcRun) -> Contract:
148
+ return ARCtrl_ArcRun__ArcRun_ToDeleteContract(run)
149
+
150
+
151
+ def ARCtrl_ArcRun__ArcRun_toCreateContract_Static_Z71974BBF(run: ArcRun, WithFolder: bool | None=None) -> Array[Contract]:
152
+ return ARCtrl_ArcRun__ArcRun_ToCreateContract_6FCE9E49(run, WithFolder)
153
+
154
+
155
+ def ARCtrl_ArcRun__ArcRun_toUpdateContract_Static_Z3EFAF6F8(run: ArcRun) -> Contract:
156
+ return ARCtrl_ArcRun__ArcRun_ToUpdateContract(run)
157
+
158
+
159
+ def ARCtrl_ArcRun__ArcRun_tryFromReadContract_Static_7570923F(c: Contract) -> ArcRun | None:
160
+ (pattern_matching_result, fsworkbook) = (None, None)
161
+ if c.Operation == "READ":
162
+ if c.DTOType is not None:
163
+ if c.DTOType.tag == 3:
164
+ if c.DTO is not None:
165
+ if c.DTO.tag == 0:
166
+ pattern_matching_result = 0
167
+ fsworkbook = c.DTO.fields[0]
168
+
169
+ else:
170
+ pattern_matching_result = 1
171
+
172
+
173
+ else:
174
+ pattern_matching_result = 1
175
+
176
+
177
+ else:
178
+ pattern_matching_result = 1
179
+
180
+
181
+ else:
182
+ pattern_matching_result = 1
183
+
184
+
185
+ else:
186
+ pattern_matching_result = 1
187
+
188
+ if pattern_matching_result == 0:
189
+ return ARCtrl_ArcRun__ArcRun_fromFsWorkbook_Static_32154C9D(fsworkbook)
190
+
191
+ elif pattern_matching_result == 1:
192
+ return None
193
+
194
+
195
+
196
+ def ARCtrl_ArcRun__ArcRun_tryCWLFromReadContract_Static(run_identifier: str, c: Contract) -> CWLProcessingUnit | None:
197
+ p: str = Run_cwlFileNameFromIdentifier(run_identifier)
198
+ (pattern_matching_result, text_1) = (None, None)
199
+ if c.Operation == "READ":
200
+ if c.DTOType is not None:
201
+ if c.DTOType.tag == 8:
202
+ if c.DTO is not None:
203
+ if c.DTO.tag == 1:
204
+ def _arrow4167(__unit: None=None, run_identifier: Any=run_identifier, c: Any=c) -> bool:
205
+ text: str = c.DTO.fields[0]
206
+ return c.Path == p
207
+
208
+ if _arrow4167():
209
+ pattern_matching_result = 0
210
+ text_1 = c.DTO.fields[0]
211
+
212
+ else:
213
+ pattern_matching_result = 1
214
+
215
+
216
+ else:
217
+ pattern_matching_result = 1
218
+
219
+
220
+ else:
221
+ pattern_matching_result = 1
222
+
223
+
224
+ else:
225
+ pattern_matching_result = 1
226
+
227
+
228
+ else:
229
+ pattern_matching_result = 1
230
+
231
+
232
+ else:
233
+ pattern_matching_result = 1
234
+
235
+ if pattern_matching_result == 0:
236
+ return Decode_decodeCWLProcessingUnit(text_1)
237
+
238
+ elif pattern_matching_result == 1:
239
+ return None
240
+
241
+
242
+
243
+ def ARCtrl_ArcRun__ArcRun_tryYMLFromReadContract_Static(run_identifier: str, c: Contract) -> Array[CWLParameterReference] | None:
244
+ p: str = Run_ymlFileNameFromIdentifier(run_identifier)
245
+ (pattern_matching_result, text_1) = (None, None)
246
+ if c.Operation == "READ":
247
+ if c.DTOType is not None:
248
+ if c.DTOType.tag == 9:
249
+ if c.DTO is not None:
250
+ if c.DTO.tag == 1:
251
+ def _arrow4168(__unit: None=None, run_identifier: Any=run_identifier, c: Any=c) -> bool:
252
+ text: str = c.DTO.fields[0]
253
+ return c.Path == p
254
+
255
+ if _arrow4168():
256
+ pattern_matching_result = 0
257
+ text_1 = c.DTO.fields[0]
258
+
259
+ else:
260
+ pattern_matching_result = 1
261
+
262
+
263
+ else:
264
+ pattern_matching_result = 1
265
+
266
+
267
+ else:
268
+ pattern_matching_result = 1
269
+
270
+
271
+ else:
272
+ pattern_matching_result = 1
273
+
274
+
275
+ else:
276
+ pattern_matching_result = 1
277
+
278
+
279
+ else:
280
+ pattern_matching_result = 1
281
+
282
+ if pattern_matching_result == 0:
283
+ return DecodeParameters_decodeYAMLParameterFile(text_1)
284
+
285
+ elif pattern_matching_result == 1:
286
+ return None
287
+
288
+
289
+
290
+ __all__ = ["_007CRunPath_007C__007C", "_007CRunCWLPath_007C__007C", "_007CRunYMLPath_007C__007C", "ARCtrl_ArcRun__ArcRun_ToCreateContract_6FCE9E49", "ARCtrl_ArcRun__ArcRun_ToUpdateContract", "ARCtrl_ArcRun__ArcRun_ToDeleteContract", "ARCtrl_ArcRun__ArcRun_toDeleteContract_Static_Z3EFAF6F8", "ARCtrl_ArcRun__ArcRun_toCreateContract_Static_Z71974BBF", "ARCtrl_ArcRun__ArcRun_toUpdateContract_Static_Z3EFAF6F8", "ARCtrl_ArcRun__ArcRun_tryFromReadContract_Static_7570923F", "ARCtrl_ArcRun__ArcRun_tryCWLFromReadContract_Static", "ARCtrl_ArcRun__ArcRun_tryYMLFromReadContract_Static"]
291
+
@@ -0,0 +1,126 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.list import FSharpList
5
+ from ..fable_modules.fable_library.option import default_arg
6
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
7
+ from ..fable_modules.fable_library.types import Array
8
+ from ..fable_modules.fable_library.util import IEnumerable_1
9
+ from ..Core.arc_types import (ArcStudy, ArcAssay)
10
+ from ..Core.Helper.identifier import Study_fileNameFromIdentifier
11
+ from ..FileSystem.file_system_tree import FileSystemTree
12
+ from ..FileSystem.path import (combine_many, get_study_folder_path)
13
+ from ..Spreadsheet.arc_study import (ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522, ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D)
14
+ from .contract import (Contract, DTOType, DTO)
15
+
16
+ def _007CStudyPath_007C__007C(input: Array[str]) -> str | None:
17
+ (pattern_matching_result,) = (None,)
18
+ def _arrow4144(x: str, y: str, input: Any=input) -> bool:
19
+ return x == y
20
+
21
+ if (len(input) == 3) if (not equals_with(_arrow4144, input, None)) else False:
22
+ if input[0] == "studies":
23
+ if input[2] == "isa.study.xlsx":
24
+ pattern_matching_result = 0
25
+
26
+ else:
27
+ pattern_matching_result = 1
28
+
29
+
30
+ else:
31
+ pattern_matching_result = 1
32
+
33
+
34
+ else:
35
+ pattern_matching_result = 1
36
+
37
+ if pattern_matching_result == 0:
38
+ any_study_name: str = input[1]
39
+ return combine_many(input)
40
+
41
+ elif pattern_matching_result == 1:
42
+ return None
43
+
44
+
45
+
46
+ def ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49(this: ArcStudy, WithFolder: bool | None=None) -> Array[Contract]:
47
+ with_folder: bool = default_arg(WithFolder, False)
48
+ path: str = Study_fileNameFromIdentifier(this.Identifier)
49
+ c: Contract = Contract.create_create(path, DTOType(1), DTO(0, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(this)))
50
+ def _arrow4148(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
51
+ def _arrow4146(__unit: None=None) -> IEnumerable_1[Contract]:
52
+ folder_fs: FileSystemTree = FileSystemTree.create_studies_folder([FileSystemTree.create_study_folder(this.Identifier)])
53
+ def _arrow4145(p: str) -> IEnumerable_1[Contract]:
54
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "studies/.gitkeep") if (p != path) else False) else empty()
55
+
56
+ return collect(_arrow4145, folder_fs.ToFilePaths(False))
57
+
58
+ def _arrow4147(__unit: None=None) -> IEnumerable_1[Contract]:
59
+ return singleton(c)
60
+
61
+ return append(_arrow4146() if with_folder else empty(), delay(_arrow4147))
62
+
63
+ return to_array(delay(_arrow4148))
64
+
65
+
66
+ def ARCtrl_ArcStudy__ArcStudy_ToUpdateContract(this: ArcStudy) -> Contract:
67
+ path: str = Study_fileNameFromIdentifier(this.Identifier)
68
+ return Contract.create_update(path, DTOType(1), DTO(0, ARCtrl_ArcStudy__ArcStudy_toFsWorkbook_Static_Z4CEFA522(this)))
69
+
70
+
71
+ def ARCtrl_ArcStudy__ArcStudy_ToDeleteContract(this: ArcStudy) -> Contract:
72
+ path: str = get_study_folder_path(this.Identifier)
73
+ return Contract.create_delete(path)
74
+
75
+
76
+ def ARCtrl_ArcStudy__ArcStudy_toDeleteContract_Static_1680536E(study: ArcStudy) -> Contract:
77
+ return ARCtrl_ArcStudy__ArcStudy_ToDeleteContract(study)
78
+
79
+
80
+ def ARCtrl_ArcStudy__ArcStudy_toCreateContract_Static_Z76BBA099(study: ArcStudy, WithFolder: bool | None=None) -> Array[Contract]:
81
+ return ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49(study, WithFolder)
82
+
83
+
84
+ def ARCtrl_ArcStudy__ArcStudy_toUpdateContract_Static_1680536E(study: ArcStudy) -> Contract:
85
+ return ARCtrl_ArcStudy__ArcStudy_ToUpdateContract(study)
86
+
87
+
88
+ def ARCtrl_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F(c: Contract) -> tuple[ArcStudy, FSharpList[ArcAssay]] | None:
89
+ (pattern_matching_result, fsworkbook) = (None, None)
90
+ if c.Operation == "READ":
91
+ if c.DTOType is not None:
92
+ if c.DTOType.tag == 1:
93
+ if c.DTO is not None:
94
+ if c.DTO.tag == 0:
95
+ pattern_matching_result = 0
96
+ fsworkbook = c.DTO.fields[0]
97
+
98
+ else:
99
+ pattern_matching_result = 1
100
+
101
+
102
+ else:
103
+ pattern_matching_result = 1
104
+
105
+
106
+ else:
107
+ pattern_matching_result = 1
108
+
109
+
110
+ else:
111
+ pattern_matching_result = 1
112
+
113
+
114
+ else:
115
+ pattern_matching_result = 1
116
+
117
+ if pattern_matching_result == 0:
118
+ return ARCtrl_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(fsworkbook)
119
+
120
+ elif pattern_matching_result == 1:
121
+ return None
122
+
123
+
124
+
125
+ __all__ = ["_007CStudyPath_007C__007C", "ARCtrl_ArcStudy__ArcStudy_ToCreateContract_6FCE9E49", "ARCtrl_ArcStudy__ArcStudy_ToUpdateContract", "ARCtrl_ArcStudy__ArcStudy_ToDeleteContract", "ARCtrl_ArcStudy__ArcStudy_toDeleteContract_Static_1680536E", "ARCtrl_ArcStudy__ArcStudy_toCreateContract_Static_Z76BBA099", "ARCtrl_ArcStudy__ArcStudy_toUpdateContract_Static_1680536E", "ARCtrl_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F"]
126
+
@@ -0,0 +1,213 @@
1
+ from __future__ import annotations
2
+ from typing import Any
3
+ from ..fable_modules.fable_library.array_ import equals_with
4
+ from ..fable_modules.fable_library.option import (default_arg, value)
5
+ from ..fable_modules.fable_library.seq import (to_array, delay, append, collect, singleton, empty)
6
+ from ..fable_modules.fable_library.types import Array
7
+ from ..fable_modules.fable_library.util import IEnumerable_1
8
+ from ..Core.arc_types import ArcWorkflow
9
+ from ..Core.Helper.identifier import (Workflow_fileNameFromIdentifier, Workflow_cwlFileNameFromIdentifier)
10
+ from ..CWL.cwlprocessing_unit import CWLProcessingUnit
11
+ from ..CWL.decode import Decode_decodeCWLProcessingUnit
12
+ from ..CWL.encode import encode_processing_unit
13
+ from ..FileSystem.file_system_tree import FileSystemTree
14
+ from ..FileSystem.path import (combine_many, get_workflow_folder_path)
15
+ from ..Spreadsheet.arc_workflow import (ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E, ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D)
16
+ from .contract import (Contract, DTOType, DTO)
17
+
18
+ def _007CWorkflowPath_007C__007C(input: Array[str]) -> str | None:
19
+ (pattern_matching_result,) = (None,)
20
+ def _arrow4149(x: str, y: str, input: Any=input) -> bool:
21
+ return x == y
22
+
23
+ if (len(input) == 3) if (not equals_with(_arrow4149, input, None)) else False:
24
+ if input[0] == "workflows":
25
+ if input[2] == "isa.workflow.xlsx":
26
+ pattern_matching_result = 0
27
+
28
+ else:
29
+ pattern_matching_result = 1
30
+
31
+
32
+ else:
33
+ pattern_matching_result = 1
34
+
35
+
36
+ else:
37
+ pattern_matching_result = 1
38
+
39
+ if pattern_matching_result == 0:
40
+ any_workflow_name: str = input[1]
41
+ return combine_many(input)
42
+
43
+ elif pattern_matching_result == 1:
44
+ return None
45
+
46
+
47
+
48
+ def _007CWorkflowCWLPath_007C__007C(input: Array[str]) -> str | None:
49
+ (pattern_matching_result,) = (None,)
50
+ def _arrow4150(x: str, y: str, input: Any=input) -> bool:
51
+ return x == y
52
+
53
+ if (len(input) == 3) if (not equals_with(_arrow4150, input, None)) else False:
54
+ if input[0] == "workflows":
55
+ if input[2] == "workflow.cwl":
56
+ pattern_matching_result = 0
57
+
58
+ else:
59
+ pattern_matching_result = 1
60
+
61
+
62
+ else:
63
+ pattern_matching_result = 1
64
+
65
+
66
+ else:
67
+ pattern_matching_result = 1
68
+
69
+ if pattern_matching_result == 0:
70
+ any_workflow_name: str = input[1]
71
+ return combine_many(input)
72
+
73
+ elif pattern_matching_result == 1:
74
+ return None
75
+
76
+
77
+
78
+ def ARCtrl_ArcWorkflow__ArcWorkflow_ToCreateContract_6FCE9E49(this: ArcWorkflow, WithFolder: bool | None=None) -> Array[Contract]:
79
+ with_folder: bool = default_arg(WithFolder, False)
80
+ path: str = Workflow_fileNameFromIdentifier(this.Identifier)
81
+ c: Contract = Contract.create_create(path, DTOType(2), DTO(0, ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(this)))
82
+ def _arrow4156(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
83
+ def _arrow4152(__unit: None=None) -> IEnumerable_1[Contract]:
84
+ folder_fs: FileSystemTree = FileSystemTree.create_workflows_folder([FileSystemTree.create_workflow_folder(this.Identifier)])
85
+ def _arrow4151(p: str) -> IEnumerable_1[Contract]:
86
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "workflows/.gitkeep") if (p != path) else False) else empty()
87
+
88
+ return collect(_arrow4151, folder_fs.ToFilePaths(False))
89
+
90
+ def _arrow4155(__unit: None=None) -> IEnumerable_1[Contract]:
91
+ def _arrow4153(__unit: None=None) -> IEnumerable_1[Contract]:
92
+ path_1: str = Workflow_cwlFileNameFromIdentifier(this.Identifier)
93
+ dto: str = encode_processing_unit(value(this.CWLDescription))
94
+ return singleton(Contract.create_create(path_1, DTOType(8), DTO(1, dto)))
95
+
96
+ def _arrow4154(__unit: None=None) -> IEnumerable_1[Contract]:
97
+ return singleton(c)
98
+
99
+ return append(_arrow4153() if (this.CWLDescription is not None) else empty(), delay(_arrow4154))
100
+
101
+ return append(_arrow4152() if with_folder else empty(), delay(_arrow4155))
102
+
103
+ return to_array(delay(_arrow4156))
104
+
105
+
106
+ def ARCtrl_ArcWorkflow__ArcWorkflow_ToUpdateContract(this: ArcWorkflow) -> Contract:
107
+ path: str = Workflow_fileNameFromIdentifier(this.Identifier)
108
+ return Contract.create_update(path, DTOType(2), DTO(0, ARCtrl_ArcWorkflow__ArcWorkflow_toFsWorkbook_Static_Z1C75CB0E(this)))
109
+
110
+
111
+ def ARCtrl_ArcWorkflow__ArcWorkflow_ToDeleteContract(this: ArcWorkflow) -> Contract:
112
+ path: str = get_workflow_folder_path(this.Identifier)
113
+ return Contract.create_delete(path)
114
+
115
+
116
+ def ARCtrl_ArcWorkflow__ArcWorkflow_toDeleteContract_Static_Z1C75CB0E(workflow: ArcWorkflow) -> Contract:
117
+ return ARCtrl_ArcWorkflow__ArcWorkflow_ToDeleteContract(workflow)
118
+
119
+
120
+ def ARCtrl_ArcWorkflow__ArcWorkflow_toCreateContract_Static_3B1E4D7B(workflow: ArcWorkflow, WithFolder: bool | None=None) -> Array[Contract]:
121
+ return ARCtrl_ArcWorkflow__ArcWorkflow_ToCreateContract_6FCE9E49(workflow, WithFolder)
122
+
123
+
124
+ def ARCtrl_ArcWorkflow__ArcWorkflow_toUpdateContract_Static_Z1C75CB0E(workflow: ArcWorkflow) -> Contract:
125
+ return ARCtrl_ArcWorkflow__ArcWorkflow_ToUpdateContract(workflow)
126
+
127
+
128
+ def ARCtrl_ArcWorkflow__ArcWorkflow_tryFromReadContract_Static_7570923F(c: Contract) -> ArcWorkflow | None:
129
+ (pattern_matching_result, fsworkbook) = (None, None)
130
+ if c.Operation == "READ":
131
+ if c.DTOType is not None:
132
+ if c.DTOType.tag == 2:
133
+ if c.DTO is not None:
134
+ if c.DTO.tag == 0:
135
+ pattern_matching_result = 0
136
+ fsworkbook = c.DTO.fields[0]
137
+
138
+ else:
139
+ pattern_matching_result = 1
140
+
141
+
142
+ else:
143
+ pattern_matching_result = 1
144
+
145
+
146
+ else:
147
+ pattern_matching_result = 1
148
+
149
+
150
+ else:
151
+ pattern_matching_result = 1
152
+
153
+
154
+ else:
155
+ pattern_matching_result = 1
156
+
157
+ if pattern_matching_result == 0:
158
+ return ARCtrl_ArcWorkflow__ArcWorkflow_fromFsWorkbook_Static_32154C9D(fsworkbook)
159
+
160
+ elif pattern_matching_result == 1:
161
+ return None
162
+
163
+
164
+
165
+ def ARCtrl_ArcWorkflow__ArcWorkflow_tryCWLFromReadContract_Static(workflow_identifier: str, c: Contract) -> CWLProcessingUnit | None:
166
+ p: str = Workflow_cwlFileNameFromIdentifier(workflow_identifier)
167
+ (pattern_matching_result, cwl_1) = (None, None)
168
+ if c.Operation == "READ":
169
+ if c.DTOType is not None:
170
+ if c.DTOType.tag == 8:
171
+ if c.DTO is not None:
172
+ if c.DTO.tag == 1:
173
+ def _arrow4157(__unit: None=None, workflow_identifier: Any=workflow_identifier, c: Any=c) -> bool:
174
+ cwl: str = c.DTO.fields[0]
175
+ return c.Path == p
176
+
177
+ if _arrow4157():
178
+ pattern_matching_result = 0
179
+ cwl_1 = c.DTO.fields[0]
180
+
181
+ else:
182
+ pattern_matching_result = 1
183
+
184
+
185
+ else:
186
+ pattern_matching_result = 1
187
+
188
+
189
+ else:
190
+ pattern_matching_result = 1
191
+
192
+
193
+ else:
194
+ pattern_matching_result = 1
195
+
196
+
197
+ else:
198
+ pattern_matching_result = 1
199
+
200
+
201
+ else:
202
+ pattern_matching_result = 1
203
+
204
+ if pattern_matching_result == 0:
205
+ return Decode_decodeCWLProcessingUnit(cwl_1)
206
+
207
+ elif pattern_matching_result == 1:
208
+ return None
209
+
210
+
211
+
212
+ __all__ = ["_007CWorkflowPath_007C__007C", "_007CWorkflowCWLPath_007C__007C", "ARCtrl_ArcWorkflow__ArcWorkflow_ToCreateContract_6FCE9E49", "ARCtrl_ArcWorkflow__ArcWorkflow_ToUpdateContract", "ARCtrl_ArcWorkflow__ArcWorkflow_ToDeleteContract", "ARCtrl_ArcWorkflow__ArcWorkflow_toDeleteContract_Static_Z1C75CB0E", "ARCtrl_ArcWorkflow__ArcWorkflow_toCreateContract_Static_3B1E4D7B", "ARCtrl_ArcWorkflow__ArcWorkflow_toUpdateContract_Static_Z1C75CB0E", "ARCtrl_ArcWorkflow__ArcWorkflow_tryFromReadContract_Static_7570923F", "ARCtrl_ArcWorkflow__ArcWorkflow_tryCWLFromReadContract_Static"]
213
+