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,354 @@
1
+ from __future__ import annotations
2
+ from collections.abc import Callable
3
+ from dataclasses import dataclass
4
+ from typing import Any
5
+ from ..fable_modules.dynamic_obj.dynamic_obj import (DynamicObj, DynamicObj_reflection)
6
+ from ..fable_modules.fable_library.option import to_array
7
+ from ..fable_modules.fable_library.reflection import (TypeInfo, union_type, string_type, array_type, option_type, bool_type, record_type, obj_type, class_type)
8
+ from ..fable_modules.fable_library.seq import (filter, iterate, try_find_index)
9
+ from ..fable_modules.fable_library.types import (Array, Union, Record)
10
+ from ..fable_modules.yamlicious.yamlicious_types import (YAMLElement, YAMLElement_reflection)
11
+ from .requirements import (Requirement, HintEntry)
12
+
13
+ def _expr760() -> TypeInfo:
14
+ return union_type("ARCtrl.CWL.LinkMergeMethod", [], LinkMergeMethod, lambda: [[], []])
15
+
16
+
17
+ class LinkMergeMethod(Union):
18
+ def __init__(self, tag: int, *fields: Any) -> None:
19
+ super().__init__()
20
+ self.tag: int = tag or 0
21
+ self.fields: Array[Any] = list(fields)
22
+
23
+ @staticmethod
24
+ def cases() -> list[str]:
25
+ return ["MergeNested", "MergeFlattened"]
26
+
27
+ @property
28
+ def AsCwlString(self, __unit: None=None) -> str:
29
+ this: LinkMergeMethod = self
30
+ return "merge_flattened" if (this.tag == 1) else "merge_nested"
31
+
32
+ @staticmethod
33
+ def try_parse(value: str) -> LinkMergeMethod | None:
34
+ return LinkMergeMethod(0) if (value == "merge_nested") else (LinkMergeMethod(1) if (value == "merge_flattened") else None)
35
+
36
+
37
+ LinkMergeMethod_reflection = _expr760
38
+
39
+ def _expr761() -> TypeInfo:
40
+ return union_type("ARCtrl.CWL.PickValueMethod", [], PickValueMethod, lambda: [[], [], []])
41
+
42
+
43
+ class PickValueMethod(Union):
44
+ def __init__(self, tag: int, *fields: Any) -> None:
45
+ super().__init__()
46
+ self.tag: int = tag or 0
47
+ self.fields: Array[Any] = list(fields)
48
+
49
+ @staticmethod
50
+ def cases() -> list[str]:
51
+ return ["FirstNonNull", "TheOnlyNonNull", "AllNonNull"]
52
+
53
+ @property
54
+ def AsCwlString(self, __unit: None=None) -> str:
55
+ this: PickValueMethod = self
56
+ if this.tag == 1:
57
+ return "the_only_non_null"
58
+
59
+ elif this.tag == 2:
60
+ return "all_non_null"
61
+
62
+ else:
63
+ return "first_non_null"
64
+
65
+
66
+ @staticmethod
67
+ def try_parse(value: str) -> PickValueMethod | None:
68
+ return PickValueMethod(0) if (value == "first_non_null") else (PickValueMethod(1) if (value == "the_only_non_null") else (PickValueMethod(2) if (value == "all_non_null") else None))
69
+
70
+
71
+ PickValueMethod_reflection = _expr761
72
+
73
+ def _expr762() -> TypeInfo:
74
+ return union_type("ARCtrl.CWL.ScatterMethod", [], ScatterMethod, lambda: [[], [], []])
75
+
76
+
77
+ class ScatterMethod(Union):
78
+ def __init__(self, tag: int, *fields: Any) -> None:
79
+ super().__init__()
80
+ self.tag: int = tag or 0
81
+ self.fields: Array[Any] = list(fields)
82
+
83
+ @staticmethod
84
+ def cases() -> list[str]:
85
+ return ["DotProduct", "NestedCrossProduct", "FlatCrossProduct"]
86
+
87
+ @property
88
+ def AsCwlString(self, __unit: None=None) -> str:
89
+ this: ScatterMethod = self
90
+ if this.tag == 1:
91
+ return "nested_crossproduct"
92
+
93
+ elif this.tag == 2:
94
+ return "flat_crossproduct"
95
+
96
+ else:
97
+ return "dotproduct"
98
+
99
+
100
+ @staticmethod
101
+ def try_parse(value: str) -> ScatterMethod | None:
102
+ return ScatterMethod(0) if (value == "dotproduct") else (ScatterMethod(1) if (value == "nested_crossproduct") else (ScatterMethod(2) if (value == "flat_crossproduct") else None))
103
+
104
+
105
+ ScatterMethod_reflection = _expr762
106
+
107
+ def _expr763() -> TypeInfo:
108
+ return record_type("ARCtrl.CWL.StepInput", [], StepInput, lambda: [("Id", string_type), ("Source", option_type(array_type(string_type))), ("DefaultValue", option_type(YAMLElement_reflection())), ("ValueFrom", option_type(string_type)), ("LinkMerge", option_type(LinkMergeMethod_reflection())), ("PickValue", option_type(PickValueMethod_reflection())), ("Doc", option_type(string_type)), ("LoadContents", option_type(bool_type)), ("LoadListing", option_type(string_type)), ("Label", option_type(string_type))])
109
+
110
+
111
+ @dataclass(eq = False, repr = False, slots = True)
112
+ class StepInput(Record):
113
+ Id: str
114
+ Source: Array[str] | None
115
+ DefaultValue: YAMLElement | None
116
+ ValueFrom: str | None
117
+ LinkMerge: LinkMergeMethod | None
118
+ PickValue: PickValueMethod | None
119
+ Doc: str | None
120
+ LoadContents: bool | None
121
+ LoadListing: str | None
122
+ Label: str | None
123
+ @staticmethod
124
+ def create(id: str, source: Array[str] | None=None, default_value: YAMLElement | None=None, value_from: str | None=None, link_merge: LinkMergeMethod | None=None, pick_value: PickValueMethod | None=None, doc: str | None=None, load_contents: bool | None=None, load_listing: str | None=None, label: str | None=None) -> StepInput:
125
+ return StepInput(id, source, default_value, value_from, link_merge, pick_value, doc, load_contents, load_listing, label)
126
+
127
+ @staticmethod
128
+ def update_at(index: int, f: Callable[[StepInput], StepInput], inputs: Array[StepInput]) -> None:
129
+ if True if (index < 0) else (index >= len(inputs)):
130
+ raise Exception(((("StepInput index " + str(index)) + " is out of range.") + "\\nParameter name: ") + "index")
131
+
132
+ inputs[index] = f(inputs[index])
133
+
134
+
135
+ StepInput_reflection = _expr763
136
+
137
+ def _expr764() -> TypeInfo:
138
+ return record_type("ARCtrl.CWL.StepOutputParameter", [], StepOutputParameter, lambda: [("Id", string_type)])
139
+
140
+
141
+ @dataclass(eq = False, repr = False, slots = True)
142
+ class StepOutputParameter(Record):
143
+ Id: str
144
+ @staticmethod
145
+ def create(id: str) -> StepOutputParameter:
146
+ return StepOutputParameter(id)
147
+
148
+
149
+ StepOutputParameter_reflection = _expr764
150
+
151
+ def _expr765() -> TypeInfo:
152
+ return union_type("ARCtrl.CWL.StepOutput", [], StepOutput, lambda: [[("Item", string_type)], [("Item", StepOutputParameter_reflection())]])
153
+
154
+
155
+ class StepOutput(Union):
156
+ def __init__(self, tag: int, *fields: Any) -> None:
157
+ super().__init__()
158
+ self.tag: int = tag or 0
159
+ self.fields: Array[Any] = list(fields)
160
+
161
+ @staticmethod
162
+ def cases() -> list[str]:
163
+ return ["StepOutputString", "StepOutputRecord"]
164
+
165
+
166
+ StepOutput_reflection = _expr765
167
+
168
+ def _expr766() -> TypeInfo:
169
+ return union_type("ARCtrl.CWL.WorkflowStepRun", [], WorkflowStepRun, lambda: [[("Item", string_type)], [("Item", obj_type)], [("Item", obj_type)], [("Item", obj_type)], [("Item", obj_type)]])
170
+
171
+
172
+ class WorkflowStepRun(Union):
173
+ def __init__(self, tag: int, *fields: Any) -> None:
174
+ super().__init__()
175
+ self.tag: int = tag or 0
176
+ self.fields: Array[Any] = list(fields)
177
+
178
+ @staticmethod
179
+ def cases() -> list[str]:
180
+ return ["RunString", "RunCommandLineTool", "RunWorkflow", "RunExpressionTool", "RunOperation"]
181
+
182
+
183
+ WorkflowStepRun_reflection = _expr766
184
+
185
+ def _expr767() -> TypeInfo:
186
+ return class_type("ARCtrl.CWL.WorkflowStep", None, WorkflowStep, DynamicObj_reflection())
187
+
188
+
189
+ class WorkflowStep(DynamicObj):
190
+ def __init__(self, id: str, in_: Array[StepInput], out_: Array[StepOutput], run: WorkflowStepRun, label: str | None=None, doc: str | None=None, scatter: Array[str] | None=None, scatter_method: ScatterMethod | None=None, when_: str | None=None, requirements: Array[Requirement] | None=None, hints: Array[HintEntry] | None=None) -> None:
191
+ super().__init__()
192
+ self._id: str = id
193
+ self._in: Array[StepInput] = in_
194
+ self._out: Array[StepOutput] = out_
195
+ self._run: WorkflowStepRun = run
196
+ self._label: str | None = label
197
+ self._doc: str | None = doc
198
+ self._scatter: Array[str] | None = scatter
199
+ self._scatterMethod: ScatterMethod | None = scatter_method
200
+ self._when: str | None = when_
201
+ self._requirements: Array[Requirement] | None = requirements
202
+ self._hints: Array[HintEntry] | None = hints
203
+
204
+ @property
205
+ def Id(self, __unit: None=None) -> str:
206
+ this: WorkflowStep = self
207
+ return this._id
208
+
209
+ @Id.setter
210
+ def Id(self, id: str) -> None:
211
+ this: WorkflowStep = self
212
+ this._id = id
213
+
214
+ @property
215
+ def In(self, __unit: None=None) -> Array[StepInput]:
216
+ this: WorkflowStep = self
217
+ return this._in
218
+
219
+ @In.setter
220
+ def In(self, in_: Array[StepInput]) -> None:
221
+ this: WorkflowStep = self
222
+ this._in = in_
223
+
224
+ @property
225
+ def Out(self, __unit: None=None) -> Array[StepOutput]:
226
+ this: WorkflowStep = self
227
+ return this._out
228
+
229
+ @Out.setter
230
+ def Out(self, out_: Array[StepOutput]) -> None:
231
+ this: WorkflowStep = self
232
+ this._out = out_
233
+
234
+ @property
235
+ def Run(self, __unit: None=None) -> WorkflowStepRun:
236
+ this: WorkflowStep = self
237
+ return this._run
238
+
239
+ @Run.setter
240
+ def Run(self, run: WorkflowStepRun) -> None:
241
+ this: WorkflowStep = self
242
+ this._run = run
243
+
244
+ @property
245
+ def Label(self, __unit: None=None) -> str | None:
246
+ this: WorkflowStep = self
247
+ return this._label
248
+
249
+ @Label.setter
250
+ def Label(self, label: str | None=None) -> None:
251
+ this: WorkflowStep = self
252
+ this._label = label
253
+
254
+ @property
255
+ def Doc(self, __unit: None=None) -> str | None:
256
+ this: WorkflowStep = self
257
+ return this._doc
258
+
259
+ @Doc.setter
260
+ def Doc(self, doc: str | None=None) -> None:
261
+ this: WorkflowStep = self
262
+ this._doc = doc
263
+
264
+ @property
265
+ def Scatter(self, __unit: None=None) -> Array[str] | None:
266
+ this: WorkflowStep = self
267
+ return this._scatter
268
+
269
+ @Scatter.setter
270
+ def Scatter(self, scatter: Array[str] | None=None) -> None:
271
+ this: WorkflowStep = self
272
+ this._scatter = scatter
273
+
274
+ @property
275
+ def ScatterMethod(self, __unit: None=None) -> ScatterMethod | None:
276
+ this: WorkflowStep = self
277
+ return this._scatterMethod
278
+
279
+ @ScatterMethod.setter
280
+ def ScatterMethod(self, scatter_method: ScatterMethod | None=None) -> None:
281
+ this: WorkflowStep = self
282
+ this._scatterMethod = scatter_method
283
+
284
+ @property
285
+ def When_(self, __unit: None=None) -> str | None:
286
+ this: WorkflowStep = self
287
+ return this._when
288
+
289
+ @When_.setter
290
+ def When_(self, when_: str | None=None) -> None:
291
+ this: WorkflowStep = self
292
+ this._when = when_
293
+
294
+ @property
295
+ def Requirements(self, __unit: None=None) -> Array[Requirement] | None:
296
+ this: WorkflowStep = self
297
+ return this._requirements
298
+
299
+ @Requirements.setter
300
+ def Requirements(self, requirements: Array[Requirement] | None=None) -> None:
301
+ this: WorkflowStep = self
302
+ this._requirements = requirements
303
+
304
+ @property
305
+ def Hints(self, __unit: None=None) -> Array[HintEntry] | None:
306
+ this: WorkflowStep = self
307
+ return this._hints
308
+
309
+ @Hints.setter
310
+ def Hints(self, hints: Array[HintEntry] | None=None) -> None:
311
+ this: WorkflowStep = self
312
+ this._hints = hints
313
+
314
+ @staticmethod
315
+ def from_run_path(id: str, in_: Array[StepInput], out_: Array[StepOutput], run_path: str, label: str | None=None, doc: str | None=None, scatter: Array[str] | None=None, scatter_method: ScatterMethod | None=None, when_: str | None=None, requirements: Array[Requirement] | None=None, hints: Array[HintEntry] | None=None) -> WorkflowStep:
316
+ return WorkflowStep(id, in_, out_, WorkflowStepRun(0, run_path), label, doc, scatter, scatter_method, when_, requirements, hints)
317
+
318
+ @staticmethod
319
+ def update_input_at(index: int, f: Callable[[StepInput], StepInput], step: WorkflowStep) -> None:
320
+ inputs: Array[StepInput] = step.In
321
+ StepInput.update_at(index, f, inputs)
322
+
323
+ @staticmethod
324
+ def add_input(input: StepInput, step: WorkflowStep) -> None:
325
+ (step.In.append(input))
326
+
327
+ @staticmethod
328
+ def remove_inputs_by_id(id: str, step: WorkflowStep) -> None:
329
+ def predicate(i: StepInput) -> bool:
330
+ return i.Id != id
331
+
332
+ remaining: Array[StepInput] = list(filter(predicate, step.In))
333
+ step.In = remaining
334
+
335
+ @staticmethod
336
+ def update_input_by_id(id: str, f: Callable[[StepInput], StepInput], step: WorkflowStep) -> None:
337
+ def action(i_1: int) -> None:
338
+ inputs: Array[StepInput] = step.In
339
+ StepInput.update_at(i_1, f, inputs)
340
+
341
+ def predicate(i: StepInput) -> bool:
342
+ return i.Id == id
343
+
344
+ iterate(action, to_array(try_find_index(predicate, step.In)))
345
+
346
+
347
+ WorkflowStep_reflection = _expr767
348
+
349
+ def WorkflowStep__ctor_Z76380C57(id: str, in_: Array[StepInput], out_: Array[StepOutput], run: WorkflowStepRun, label: str | None=None, doc: str | None=None, scatter: Array[str] | None=None, scatter_method: ScatterMethod | None=None, when_: str | None=None, requirements: Array[Requirement] | None=None, hints: Array[HintEntry] | None=None) -> WorkflowStep:
350
+ return WorkflowStep(id, in_, out_, run, label, doc, scatter, scatter_method, when_, requirements, hints)
351
+
352
+
353
+ __all__ = ["LinkMergeMethod_reflection", "PickValueMethod_reflection", "ScatterMethod_reflection", "StepInput_reflection", "StepOutputParameter_reflection", "StepOutput_reflection", "WorkflowStepRun_reflection", "WorkflowStep_reflection"]
354
+
File without changes
@@ -0,0 +1,89 @@
1
+ from __future__ import annotations
2
+ from ..fable_modules.fable_library.types import Array
3
+ from ..FileSystem.path import split as split_1
4
+ from .arc_assay import _007CAssayPath_007C__007C
5
+ from .arc_investigation import _007CInvestigationPath_007C__007C
6
+ from .arc_run import (_007CRunPath_007C__007C, _007CRunCWLPath_007C__007C, _007CRunYMLPath_007C__007C)
7
+ from .arc_study import _007CStudyPath_007C__007C
8
+ from .arc_workflow import (_007CWorkflowPath_007C__007C, _007CWorkflowCWLPath_007C__007C)
9
+ from .contract import (Contract, DTOType)
10
+ from .datamap import _007CDatamapPath_007C__007C
11
+ from .license import LicenseContractExtensions__007CLicensePath_007C__007C
12
+
13
+ def try_isaread_contract_from_path(path: str) -> Contract | None:
14
+ split: Array[str] = split_1(path)
15
+ active_pattern_result: str | None = _007CInvestigationPath_007C__007C(split)
16
+ if active_pattern_result is not None:
17
+ p: str = active_pattern_result
18
+ return Contract.create_read(p, DTOType(4))
19
+
20
+ else:
21
+ active_pattern_result_1: str | None = _007CAssayPath_007C__007C(split)
22
+ if active_pattern_result_1 is not None:
23
+ p_1: str = active_pattern_result_1
24
+ return Contract.create_read(p_1, DTOType(0))
25
+
26
+ else:
27
+ active_pattern_result_2: str | None = _007CStudyPath_007C__007C(split)
28
+ if active_pattern_result_2 is not None:
29
+ p_2: str = active_pattern_result_2
30
+ return Contract.create_read(p_2, DTOType(1))
31
+
32
+ else:
33
+ active_pattern_result_3: str | None = _007CWorkflowPath_007C__007C(split)
34
+ if active_pattern_result_3 is not None:
35
+ p_3: str = active_pattern_result_3
36
+ return Contract.create_read(p_3, DTOType(2))
37
+
38
+ else:
39
+ active_pattern_result_4: str | None = _007CWorkflowCWLPath_007C__007C(split)
40
+ if active_pattern_result_4 is not None:
41
+ p_4: str = active_pattern_result_4
42
+ return Contract.create_read(p_4, DTOType(8))
43
+
44
+ else:
45
+ active_pattern_result_5: str | None = _007CRunPath_007C__007C(split)
46
+ if active_pattern_result_5 is not None:
47
+ p_5: str = active_pattern_result_5
48
+ return Contract.create_read(p_5, DTOType(3))
49
+
50
+ else:
51
+ active_pattern_result_6: str | None = _007CRunCWLPath_007C__007C(split)
52
+ if active_pattern_result_6 is not None:
53
+ p_6: str = active_pattern_result_6
54
+ return Contract.create_read(p_6, DTOType(8))
55
+
56
+ else:
57
+ active_pattern_result_7: str | None = _007CRunYMLPath_007C__007C(split)
58
+ if active_pattern_result_7 is not None:
59
+ p_7: str = active_pattern_result_7
60
+ return Contract.create_read(p_7, DTOType(9))
61
+
62
+ else:
63
+ active_pattern_result_8: str | None = _007CDatamapPath_007C__007C(split)
64
+ if active_pattern_result_8 is not None:
65
+ p_8: str = active_pattern_result_8
66
+ return Contract.create_read(p_8, DTOType(5))
67
+
68
+ else:
69
+ active_pattern_result_9: str | None = LicenseContractExtensions__007CLicensePath_007C__007C(split)
70
+ if active_pattern_result_9 is not None:
71
+ p_9: str = active_pattern_result_9
72
+ return Contract.create_read(p_9, DTOType(10))
73
+
74
+ else:
75
+ return None
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+ __all__ = ["try_isaread_contract_from_path"]
89
+
@@ -0,0 +1,125 @@
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
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 ArcAssay
9
+ from ..Core.Helper.identifier import Assay_fileNameFromIdentifier
10
+ from ..FileSystem.file_system_tree import FileSystemTree
11
+ from ..FileSystem.path import (combine_many, get_assay_folder_path)
12
+ from ..Spreadsheet.arc_assay import (ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F, ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D)
13
+ from .contract import (Contract, DTOType, DTO)
14
+
15
+ def _007CAssayPath_007C__007C(input: Array[str]) -> str | None:
16
+ (pattern_matching_result,) = (None,)
17
+ def _arrow4139(x: str, y: str, input: Any=input) -> bool:
18
+ return x == y
19
+
20
+ if (len(input) == 3) if (not equals_with(_arrow4139, input, None)) else False:
21
+ if input[0] == "assays":
22
+ if input[2] == "isa.assay.xlsx":
23
+ pattern_matching_result = 0
24
+
25
+ else:
26
+ pattern_matching_result = 1
27
+
28
+
29
+ else:
30
+ pattern_matching_result = 1
31
+
32
+
33
+ else:
34
+ pattern_matching_result = 1
35
+
36
+ if pattern_matching_result == 0:
37
+ any_assay_name: str = input[1]
38
+ return combine_many(input)
39
+
40
+ elif pattern_matching_result == 1:
41
+ return None
42
+
43
+
44
+
45
+ def ARCtrl_ArcAssay__ArcAssay_ToCreateContract_6FCE9E49(this: ArcAssay, WithFolder: bool | None=None) -> Array[Contract]:
46
+ with_folder: bool = default_arg(WithFolder, False)
47
+ path: str = Assay_fileNameFromIdentifier(this.Identifier)
48
+ c: Contract = Contract.create_create(path, DTOType(0), DTO(0, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(this)))
49
+ def _arrow4143(__unit: None=None, this: Any=this, WithFolder: Any=WithFolder) -> IEnumerable_1[Contract]:
50
+ def _arrow4141(__unit: None=None) -> IEnumerable_1[Contract]:
51
+ folder_fs: FileSystemTree = FileSystemTree.create_assays_folder([FileSystemTree.create_assay_folder(this.Identifier)])
52
+ def _arrow4140(p: str) -> IEnumerable_1[Contract]:
53
+ return singleton(Contract.create_create(p, DTOType(10))) if ((p != "assays/.gitkeep") if (p != path) else False) else empty()
54
+
55
+ return collect(_arrow4140, folder_fs.ToFilePaths(False))
56
+
57
+ def _arrow4142(__unit: None=None) -> IEnumerable_1[Contract]:
58
+ return singleton(c)
59
+
60
+ return append(_arrow4141() if with_folder else empty(), delay(_arrow4142))
61
+
62
+ return to_array(delay(_arrow4143))
63
+
64
+
65
+ def ARCtrl_ArcAssay__ArcAssay_ToUpdateContract(this: ArcAssay) -> Contract:
66
+ path: str = Assay_fileNameFromIdentifier(this.Identifier)
67
+ return Contract.create_update(path, DTOType(0), DTO(0, ARCtrl_ArcAssay__ArcAssay_toFsWorkbook_Static_Z2508BE4F(this)))
68
+
69
+
70
+ def ARCtrl_ArcAssay__ArcAssay_ToDeleteContract(this: ArcAssay) -> Contract:
71
+ path: str = get_assay_folder_path(this.Identifier)
72
+ return Contract.create_delete(path)
73
+
74
+
75
+ def ARCtrl_ArcAssay__ArcAssay_toDeleteContract_Static_1501C0F8(assay: ArcAssay) -> Contract:
76
+ return ARCtrl_ArcAssay__ArcAssay_ToDeleteContract(assay)
77
+
78
+
79
+ def ARCtrl_ArcAssay__ArcAssay_toCreateContract_Static_Z2508BE4F(assay: ArcAssay, WithFolder: bool | None=None) -> Array[Contract]:
80
+ return ARCtrl_ArcAssay__ArcAssay_ToCreateContract_6FCE9E49(assay, WithFolder)
81
+
82
+
83
+ def ARCtrl_ArcAssay__ArcAssay_toUpdateContract_Static_1501C0F8(assay: ArcAssay) -> Contract:
84
+ return ARCtrl_ArcAssay__ArcAssay_ToUpdateContract(assay)
85
+
86
+
87
+ def ARCtrl_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F(c: Contract) -> ArcAssay | None:
88
+ (pattern_matching_result, fsworkbook) = (None, None)
89
+ if c.Operation == "READ":
90
+ if c.DTOType is not None:
91
+ if c.DTOType.tag == 0:
92
+ if c.DTO is not None:
93
+ if c.DTO.tag == 0:
94
+ pattern_matching_result = 0
95
+ fsworkbook = c.DTO.fields[0]
96
+
97
+ else:
98
+ pattern_matching_result = 1
99
+
100
+
101
+ else:
102
+ pattern_matching_result = 1
103
+
104
+
105
+ else:
106
+ pattern_matching_result = 1
107
+
108
+
109
+ else:
110
+ pattern_matching_result = 1
111
+
112
+
113
+ else:
114
+ pattern_matching_result = 1
115
+
116
+ if pattern_matching_result == 0:
117
+ return ARCtrl_ArcAssay__ArcAssay_fromFsWorkbook_Static_32154C9D(fsworkbook)
118
+
119
+ elif pattern_matching_result == 1:
120
+ return None
121
+
122
+
123
+
124
+ __all__ = ["_007CAssayPath_007C__007C", "ARCtrl_ArcAssay__ArcAssay_ToCreateContract_6FCE9E49", "ARCtrl_ArcAssay__ArcAssay_ToUpdateContract", "ARCtrl_ArcAssay__ArcAssay_ToDeleteContract", "ARCtrl_ArcAssay__ArcAssay_toDeleteContract_Static_1501C0F8", "ARCtrl_ArcAssay__ArcAssay_toCreateContract_Static_Z2508BE4F", "ARCtrl_ArcAssay__ArcAssay_toUpdateContract_Static_1501C0F8", "ARCtrl_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F"]
125
+
@@ -0,0 +1,88 @@
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.types import Array
5
+ from ..Core.arc_types import ArcInvestigation
6
+ from ..FileSystem.path import combine_many
7
+ from ..Spreadsheet.arc_investigation import (ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF, ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D)
8
+ from .contract import (Contract, DTOType, DTO)
9
+
10
+ def _007CInvestigationPath_007C__007C(input: Array[str]) -> str | None:
11
+ (pattern_matching_result,) = (None,)
12
+ def _arrow4169(x: str, y: str, input: Any=input) -> bool:
13
+ return x == y
14
+
15
+ if (len(input) == 1) if (not equals_with(_arrow4169, input, None)) else False:
16
+ if input[0] == "isa.investigation.xlsx":
17
+ pattern_matching_result = 0
18
+
19
+ else:
20
+ pattern_matching_result = 1
21
+
22
+
23
+ else:
24
+ pattern_matching_result = 1
25
+
26
+ if pattern_matching_result == 0:
27
+ return combine_many(input)
28
+
29
+ elif pattern_matching_result == 1:
30
+ return None
31
+
32
+
33
+
34
+ def ARCtrl_ArcInvestigation__ArcInvestigation_ToCreateContract(this: ArcInvestigation) -> Contract:
35
+ return Contract.create_create("isa.investigation.xlsx", DTOType(4), DTO(0, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(this)))
36
+
37
+
38
+ def ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract(this: ArcInvestigation) -> Contract:
39
+ return Contract.create_update("isa.investigation.xlsx", DTOType(4), DTO(0, ARCtrl_ArcInvestigation__ArcInvestigation_toFsWorkbook_Static_Z720BD3FF(this)))
40
+
41
+
42
+ def ARCtrl_ArcInvestigation__ArcInvestigation_toCreateContract_Static_Z720BD3FF(inv: ArcInvestigation) -> Contract:
43
+ return ARCtrl_ArcInvestigation__ArcInvestigation_ToCreateContract(inv)
44
+
45
+
46
+ def ARCtrl_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_Z720BD3FF(inv: ArcInvestigation) -> Contract:
47
+ return ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract(inv)
48
+
49
+
50
+ def ARCtrl_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F(c: Contract) -> ArcInvestigation | None:
51
+ (pattern_matching_result, fsworkbook) = (None, None)
52
+ if c.Operation == "READ":
53
+ if c.DTOType is not None:
54
+ if c.DTOType.tag == 4:
55
+ if c.DTO is not None:
56
+ if c.DTO.tag == 0:
57
+ pattern_matching_result = 0
58
+ fsworkbook = c.DTO.fields[0]
59
+
60
+ else:
61
+ pattern_matching_result = 1
62
+
63
+
64
+ else:
65
+ pattern_matching_result = 1
66
+
67
+
68
+ else:
69
+ pattern_matching_result = 1
70
+
71
+
72
+ else:
73
+ pattern_matching_result = 1
74
+
75
+
76
+ else:
77
+ pattern_matching_result = 1
78
+
79
+ if pattern_matching_result == 0:
80
+ return ARCtrl_ArcInvestigation__ArcInvestigation_fromFsWorkbook_Static_32154C9D(fsworkbook)
81
+
82
+ elif pattern_matching_result == 1:
83
+ return None
84
+
85
+
86
+
87
+ __all__ = ["_007CInvestigationPath_007C__007C", "ARCtrl_ArcInvestigation__ArcInvestigation_ToCreateContract", "ARCtrl_ArcInvestigation__ArcInvestigation_ToUpdateContract", "ARCtrl_ArcInvestigation__ArcInvestigation_toCreateContract_Static_Z720BD3FF", "ARCtrl_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_Z720BD3FF", "ARCtrl_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F"]
88
+